0
我是Actionscript3的初學者,我正在做我的作業來完成一個小遊戲,這裏是符合條件的最終效果:http://neowudesign.com/Ex03_hw.html。在這個遊戲中,蝴蝶將避免被用戶的光標所觸及。雖然我已經完成了這項工作,但由於我在編碼方面經驗不足,所以代碼非常尷尬。所以我想知道如何有效地優化我的代碼。這是我原來的代碼:我該如何優化我的Actionscript3代碼
import flash.geom.Rectangle;
import flash.geom.Point;
var rx:Number = 15;
var ry:Number = 15;
var rwidth:Number = 285;
var rheight:Number = 185;
var rect1:Rectangle = new Rectangle(rx,ry,rwidth,rheight);
var velx = 5;
var vely = 5;
stage.addEventListener(MouseEvent.MOUSE_MOVE, avoidMe);
function avoidMe(mouseEvent:MouseEvent):void
{
trace("mouseX: "+ mouseX);
trace("mouseY: "+ mouseY);
var point_1:Point = new Point(mouseX,mouseY);
var point_2:Point = new Point(myButterfly.x,myButterfly.y);
var distanceBetween:Number = Point.distance(point_1,point_2);
trace(distanceBetween);// 10
if (distanceBetween < 20 && myButterfly.x >= 15 && myButterfly.x <= 285 && myButterfly.y >= 15 && myButterfly.y <= 185)
{
if (mouseX < myButterfly.x)
{
myButterfly.x += velx;
trace("x is moving left");
}
else
{
myButterfly.x -= velx;
trace("x is moving right");
}
if (mouseY < myButterfly.y)
{
myButterfly.y += vely;
trace("x is moving down");
}
else
{
myButterfly.y -= vely;
trace("x is moving up");
}
}
if (myButterfly.x > 285)
{
myButterfly.x = myButterfly.x - 40;
trace("hit the right");
}
if (myButterfly.x < 15)
{
myButterfly.x = myButterfly.x + 40;
trace("hit the left");
}
if (myButterfly.y > 185)
{
myButterfly.y = myButterfly.y - 40;
trace("hit the bottom");
}
if (myButterfly.y < 15)
{
myButterfly.y = myButterfly.y + 40;
trace("hit the top");
}
}
你到底在問什麼?你是否想讓代碼更緊湊,更易讀,性能更好,轉換成實際的類而不是時間線代碼? – Marty
嗨,馬蒂,我想讓我的代碼易讀和緊湊 –