カーソルの位置に合わせて砲身が上下するゲームを作ろうとしています。
Barrel mc 内に挿入したコードは次のとおりです。
import flash.events.Event;
var hypotenuse,ratio,angleRad,angleDeg:Number;
stage.addEventListener(Event.ENTER_FRAME,spin);
function spin (e:Event):void{
trace(mouseX+ " " + mouseY);
hypotenuse = Math.sqrt((mouseX)*(mouseX)+(mouseY)*(mouseY));
ratio = (Math.abs(mouseX))/hypotenuse;
angleRad = Math.asin(ratio);
angleDeg = angleRad*180/Math.PI;
if(mouseX >= 0 && mouseY <= 0 ){
this.rotation = angleDeg;
}
if(mouseX >= 0 && mouseY > 0){
this.rotation = (90-angleDeg)*2;
}
if(mouseX < 0 && mouseY > 0){
this.rotation = angleDeg + 180;
}
if( mouseX < 0 && mouseY <= 0){
this.rotation = (90-angleDeg)*2;
}
}
なんらかの理由で、バレルがぐるぐる回っているだけで、マウスが向いている方向でさえありません.. =/アドバイスや別のコーディングの提案が欲しいです。これは私がしばらく解決しようとしてきた問題ですそして、私は何が間違っているのかわかりません。