我是ActionScript 3的新手,目前我正在开发一款游戏,它有彩色立方体,可以拖拽和捕捉在一起。也有无限制的(克隆)拖放立方体。我设法将不同颜色的立方体抓拍在一起,但不是相同颜色的立方体。我试着在drop时为相同的颜色立方体设置不同的名称,但没有区别。谁能帮助我,我的错误在哪里,以及如何纠正它?下面是我的白色立方体的代码。我将感谢您的帮助:-)
import flash.display.MovieClip;
import flash.events.MouseEvent;
var myWhiteCubes = new MovieClip();
white.addEventListener (MouseEvent.MOUSE_DOWN, whitePressed);
function whitePressed (event:MouseEvent):void
{
myWhiteCubes = new White();
myWhiteCubes.x = event.stageX;
myWhiteCubes.y = event.stageY;
addChild(myWhiteCubes);
myWhiteCubes.startDrag();
myWhiteCubes.addEventListener(MouseEvent.MOUSE_DOWN, cloneWhitePressed);
}
function cloneWhitePressed (event:MouseEvent):void
{
myWhiteCubes = MovieClip(event.currentTarget);
addChild(myWhiteCubes);
myWhiteCubes.startDrag();
var topPos:uint = this.numChildren - 1;
this.setChildIndex(myWhiteCubes,topPos);
myWhiteCubes.buttonMode = true;
}
stage.addEventListener (MouseEvent.MOUSE_UP, cloneWhiteReleased);
function cloneWhiteReleased (event:MouseEvent) : void
{
myWhiteCubes.stopDrag();
if (myWhiteCubes.hitTestPoint(myWhiteCubes.x+50,myWhiteCubes.y+10,true))
{
var whiteCubes : MovieClip = new myWhiteCubes();
whiteCubes.x = myWhiteCubes.x + 46;
whiteCubes.y = myWhiteCubes.y;
}
if (myWhiteCubes.hitTestPoint(latestTaro.x+50,latestTaro.y+10,true))
{
myWhiteCubes.x = latestTaro.x + 46;
myWhiteCubes.y = latestTaro.y;
}
if (myWhiteCubes.hitTestPoint(latestPurple.x+50,latestPurple.y+10,true))
{
myWhiteCubes.x = latestPurple.x + 46;
myWhiteCubes.y = latestPurple.y;
}
if (myWhiteCubes.hitTestPoint(latestBlue.x+50,latestBlue.y+10,true))
{
myWhiteCubes.x = latestBlue.x + 46;
myWhiteCubes.y = latestBlue.y;
}
if (myWhiteCubes.hitTestPoint(latestPurple.x+50,latestPurple.y+10,true))
{
myWhiteCubes.x = latestPurple.x + 46;
myWhiteCubes.y = latestPurple.y;
}
if (myWhiteCubes.hitTestPoint(latestBlue.x+50,latestBlue.y+10,true))
{
myWhiteCubes.x = latestBlue.x + 46;
myWhiteCubes.y = latestBlue.y;
}
if (myWhiteCubes.hitTestPoint(latestTurquois.x+50,latestTurquois.y+10,true))
{
myWhiteCubes.x = latestTurquois.x + 46;
myWhiteCubes.y = latestTurquois.y;
}
if (myWhiteCubes.hitTestPoint(latestLime.x+50,latestLime.y+10,true))
{
myWhiteCubes.x = latestLime.x + 46;
myWhiteCubes.y = latestLime.y;
}
if (myWhiteCubes.hitTestPoint(latestYellow.x+50,latestYellow.y+10,true))
{
myWhiteCubes.x = latestYellow.x + 46;
myWhiteCubes.y = latestYellow.y;
}
if (myWhiteCubes.hitTestPoint(latestOrange.x+50,latestOrange.y+10,true))
{
myWhiteCubes.x = latestOrange.x + 46;
myWhiteCubes.y = latestOrange.y;
}
if (myWhiteCubes.hitTestPoint(latestRed.x+50,latestRed.y+10,true))
{
myWhiteCubes.x = latestRed.x + 46;
myWhiteCubes.y = latestRed.y;
}
}
white.buttonMode = true;发布于 2016-07-18 18:23:27
您已经使用了
var whiteCubes : MovieClip = new myWhiteCubes();在if语句中,而不是在函数声明下面使用它
function cloneWhitePressed (event:MouseEvent):void
{
var whiteCubes : MovieClip = new myWhiteCubes();https://stackoverflow.com/questions/38429974
复制相似问题