我正在嘗試使用加速度計編寫一個移動應用程序,每當球(由加速度計移動)到達中間水平線時,它會播放聲音。if/else loop在Java中無法正常工作
這是我的全部代碼:
import flash.events.Event;
import flash.media.SoundChannel;
import flash.media.Sound;
var accelX:Number;
var accelY:Number;
var tl:sound = new sound();
var counter:Boolean = false;
var fl_Accelerometer:Accelerometer = new Accelerometer();
fl_Accelerometer.addEventListener(AccelerometerEvent.UPDATE,
function fl_AccelerometerUpdateHandler(event:AccelerometerEvent):void
{
accelX = event.accelerationX;
accelY = event.accelerationY;
}
ball.addEventListener(Event.ENTER_FRAME, moveBall);
function moveBall(evt:Event){
ball.x -= accelX*30;
ball.y += accelY*30;
if(ball.x > (480-ball.width/2)){
ball.x = 480-ball.width/2;
}
if(ball.x < (0+ball.width/2)){
ball.x = 0+ball.width/2;
}
if(ball.y > (800-ball.height/2)){
ball.y = 800-ball.height/2;
}
if(ball.y < (0+ball.height/2)){
ball.y = 0+ball.height/2;
}
if(ball.y > 398 && ball.y < 402 && counter == false)
{
tl.play(0, 0);
counter = true;
}
else
{
counter = false;
tl.stop;
}
}
這是的if-else循環在按預期不工作結束。當球位於398和402座標內時,它會保持循環。
我在做什麼錯?
這不是'Java'代碼。 'var accelX:Number;'? –
if/else結構不是循環。 – Blub
那是什麼語言? – Maroun