我用as3创建flash安卓游戏。我已经在平台上跳过了对象,但是我遇到了垂直跟踪对象的问题。任何有关如何改进代码的帮助或建议都非常受欢迎!
对象实例名称为hero
,所有平台都作为一个影片剪辑制作,其实例名称为level
这是我的代码:
import flash.events.Event;
var Key:KeyObject = new KeyObject(stage);
var dy:Number=10;
var gravity:Number=1;
var canjump:Boolean = false;
stage.addEventListener(Event.ENTER_FRAME,onenter);
function onenter(e:Event) :void {
if (Key.isDown(Key.LEFT)) {
hero.x-=30;
hero.y-=10;
}
if (Key.isDown(Key.RIGHT)) {
hero.x+=30;
hero.y-=20;
}
dy+=gravity;
if (! level.hitTestPoint(hero.x,hero.y,true)) { //if the hero not hitting the platform
hero.y+=dy;
}
if (dy>10) { //controls gravity
dy=10;
}
for (var i:int = 0; i<10; i++) {
if (level.hitTestPoint (hero.x,hero.y,true)) {
hero.y--;
dy=0;
canjump=false;
}
}
}
答案 0 :(得分:1)
我不太确定它是否可以在Android上运行,但在我的代码中用于其他平台游戏,我使用了脚本
this.y=-hero.y+(stage.stageWidth/2);
这跟随着他上升的角色,至少在swf文件中;希望它有所帮助!