我正在使用AndEngine为场景添加精灵。
精灵都以定时间隔添加,我可以通过为其创建的类来控制。
例如设置时间(作为秒)
Timer timer = new Timer();
timer.setInterval(Float second);
我创建了这个方法,以便计时器可以在用户与游戏交互时根据需要进行更改。
因此,当精灵被添加到场景中时,它们会在y轴上随机移动。
我有两个间隔来控制他们在屏幕上移动所需的最长持续时间和最短持续时间。
例如......
Private int MaxDurarion = 4;// 4 is equivalent to 4 seconds for this
Private int MinDuration = 2 //Same for minimum duration
我有一个IUpdateHandler,旨在每秒更新一次。
因此,在此方法中,我会相应地更新分数和其他内容。
现在的问题是我检查用户是否达到了某个分数,如果他们有,那么我想减少最长持续时间和最短持续时间。
例如..
if(userScore == MAX){
MaxDuration = MaxDuration - (int).2;
TimerSecond = TimerSecond - .1f;
}
现在我已经尝试过这种方式,但我发现每次更新后Maxduration都会返回原始整数。
我希望我已经很好地解释了我想要做的事情。
有更好的方法吗?
谢谢你们。
答案 0 :(得分:2)
您正在向.2
投射int
,我认为这会导致0,因此您根本不会更改MaxDuration
。
答案 1 :(得分:1)
问题在于,由于将小数重新整数为整数,因此(int)0.2将解析为零。所以Maxduration总是没有从中减去任何东西。