【发布时间】:2013-10-01 17:20:04
【问题描述】:
我有一个方法可以在 Box2d 中对球施加力。
在桌面上本地测试它工作正常,但在 iPad (ios7) 上 该方法只执行到一半!
我从来没有遇到过这么奇怪的错误,这里有什么问题:
function onTouch(e:TouchEvent) {
var touch:Touch = e.getTouch(this) as Touch;
if (touch && touch.phase == TouchPhase.ENDED) {
//do something
_debugT.text = "works";
var mouseX_m:Number = touch.globalX;
var mouseY_m:Number = touch.globalY;
_debugT.text = "stops here...";
var xDiff:Number = mouseX_m - (_whiteBall.GetPosition().x * WORLD_SCALE);
var yDiff:Number = mouseY_m - (_whiteBall.GetPosition().y * WORLD_SCALE);
var angle:Number = Math.atan2(yDiff, xDiff);
var angleDeg:Number = angle * 180 / Math.PI;
_debugT.text = "never gets executed"
var len = Math.sqrt((xDiff * xDiff) + (yDiff * yDiff));
var vx = len * Math.cos(angle);
var vy = len * Math.sin(angle);
var vel = _whiteBall.GetLinearVelocity();
vel.x += (vx * 5);
vel.y += (vy * 5);
var force = new b2Vec2(vel.x, vel.y);
_whiteBall.SetAwake(vel);
_whiteBall.SetLinearVelocity(force);
}
}
【问题讨论】:
-
_whiteBall.GetPosition() 是抛出还是返回 null(第一次或第二次)?
-
没查过,几小时后更新你
标签: iphone ios actionscript-3 starling-framework