基本想法是每帧都追踪到场景中不停刷新的怪物,然后通过计算一个精灵到这些怪物的距离,让精灵选择最近的怪物调整朝向并自动射击。我用数组记录这些精灵然后schedule在怪物的刷新同时执行这段代码,但是这么做很容易遇到内存错误,断在CCTimer::update(ccTime dt) 这个函数这里,想请教下各位大大有没有办法解决这个问题,能提供个例子更好!谢啦。
使用ccpDistance计算两点间距离
使用ccpToAngle来计算调整角度:
CGFloat radiansAngle=ccpToAngle(ccpSub(targetPoint,sprite->getPosition()));
CGFloat angle=(90-radiansAngle/M_PI*180)-sprite->getRotation();
使用schedule进行定时。
或者,使用通知(notification),当怪物刷新时,让精灵去进行判断:
CCNotificationCenter::sharedNotifCenter()->postNotification
不建议在每帧的量级上进行处理,好像没有必要吧。
内存错误的情况没遇到过,也没看明白为什么会出现内存错误。。。。