@qidashi2008 PSN游戏的开发用的是索尼给的套件,奖杯列表是提前注册的,每个奖杯有自己的ID,到了某些节点的时候,主要是存档的检查点,去主动或者被动的调用一个api,参数包含奖杯ID。如果奖杯没跳,有两个比较大的可能:
1. 条件检测出bug了。 这里包含两小种,一种是条件规则就是写错了,比如要求打100个某个怪就给奖杯,程序员脑子一热,判断写成了当打了100个怪的时候给奖杯,而不是大于100个怪给奖杯,那就有可能出bug。这是时机问题,如果用了自动检测,也许在检测的两个时间中间你打这个怪的数量从99变到了101,直接判断是不是100个,那就完蛋了。还有一种是过分自信的逻辑,非要在给奖杯之前判断是不是已经发过这个奖杯了,明明重复给同一个奖杯没有任何问题,非要做个判断,而这个判断边界也有可能出现问题。
2. 奖杯ID变了或者写错了。这个SDK只会给一个warning级别的提示,但不会抛错。有些游戏发行前会将测试id列表更换成正式奖杯id列表,虽然不换也无所谓,这样有可能会有一些小的差错导致id错了。