0

我正在使用 ActionScript 3 开发拖放游戏。

当我点击一个新游戏时,对象保持匹配,而不是在原来的位置。

新游戏开始时如何重置位置?

var dragArray:Array = [square_word, circle_word, triangle_word];
var matchArray:Array = [squareMatch, circleMatch, triangleMatch];
var posArray:Array = [ {x:276, y:207}, {x:443, y:207}, {x:107, y:207} ];

var dragGame:DragGame = new DragGame(stage, dragArray, matchArray, posArray);

dragGame.addEventListener(DragGame.MATCH_MADE, onMatch);
dragGame.addEventListener(DragGame.NO_MATCH, onFlub);
dragGame.addEventListener(DragGame.ALL_DONE, onDone);

function onMatch(event:Event):void {
var matchSound:Sound = new MatchSound();
matchSound.play();
}
function onFlub(event:Event):void {
var flubSound:Sound = new FlubSound();
flubSound.play();
}
function onDone(event:Event):void {
var applause:Sound = new Applause();
applause.play();
}
4

1 回答 1

0

如果 posArray 是 square_word, circle_word, triangle_word 的原始位置,只需在 DragGame 的构造函数中用 posArray 设置 dragArray 中对象的 x 和 y 即可;

如果不

使用变量 originalPos 来保持对象在第一次星游戏之前在 dragArray 中的原始位置。originalPos 可以是字典,比如

originalPos[square_word] = {x:100, y:100};

当你开始一个新游戏时,将 originalPos 传递给 DragGames 的构造函数,然后你可以用 originalPos 中的数据设置 quare_word、circle_word、triangle_word 的 x 和 y。

于 2013-08-16T02:19:18.213 回答