COCOS2d解决连发问题
设定连发开关,当点击时打开连击开关,手指抬起时关闭。
private CGPoint storePoint = null;//保存的触摸点 private Boolean running = false; //连续开火
定时器随时检测(实际上游戏很多的schedule),当检测连发开关为ture,并且目标不为空时,发射。正常发射因抬起时已经置为flase,则不会连发。
public void randomMove(float f) {//定时任务 if (running&&storePoint!=null) {//未抬指,目标不为空,则连发 startFire(); }
if (touchPoint.y > 100) { //开炮 running = true;//连发打开 fishGun.setRotation(FishUtils.getRotation(fishGun.getPosition(), touchPoint) - 90);//渔枪转角度 startFire(); } return true; } @Override public boolean ccTouchesEnded(MotionEvent event) { running=false; //连发停止 return super.ccTouchesEnded(event); }
以前的是程序员的老板,现在是末路出家的程序员小白。