问题描述
我是AS3的新手,我正在制作带有触摸事件的拖放游戏。我在拖放对象时遇到问题。我的对象是影片剪辑,所以有answer1_mc,answer2_mc和answer3_mc。当我进行测试运行时,如果第二次单击它们,则会弹出错误消息(请参见下面的图片)。
当我多次点击它们时,我需要这些影片剪辑没有错误。 请帮助我:((
//DRAG AND DROP OBJECTS
var answer1PosX: Number = answer1_mc.x;
var answer1PosY: Number = answer1_mc.y;
var answer2PosX: Number = answer2_mc.x;
var answer2PosY: Number = answer2_mc.y;
var answer3PosX: Number = answer3_mc.x;
var answer3PosY: Number = answer3_mc.y;
answer1_mc.buttonMode = true;
answer2_mc.buttonMode = true;
answer3_mc.buttonMode = true;
answer1_mc.gotoAndStop(1);
answer2_mc.gotoAndStop(1);
answer3_mc.gotoAndStop(1);
check_btn.visible = false;
var dragbounds: Rectangle = new Rectangle(0,stage.stageWidth,stage.stageHeight);
answer1_mc.addEventListener(TouchEvent.TOUCH_BEGIN,touchgo1);
function touchgo1(event: TouchEvent): void {
event.target.startTouchDrag(event.touchPointID,false,dragbounds);
answer1_mc.gotoAndStop(2);
answer2_mc.x = answer2PosX;
answer2_mc.y = answer2PosY;
answer3_mc.x = answer3PosX;
answer3_mc.y = answer3PosY;
}
answer1_mc.addEventListener(TouchEvent.TOUCH_END,touchno1);
function touchno1(event: TouchEvent): void {
event.target.stopTouchDrag(event.touchPointID);
answer1_mc.gotoAndStop(1);
if (answer1_mc.answer1_txt.text == sum) {
correct_answer = true;
} else {
correct_answer = false;
}
if (answer1_mc.hitTestObject(answerbox_mc)) {
answer1_mc.x = answerbox_mc.x;
answer1_mc.y = answerbox_mc.y;
check_btn.visible = true;
answer2_mc.x = answer2PosX;
answer2_mc.y = answer2PosY;
answer3_mc.x = answer3PosX;
answer3_mc.y = answer3PosY;
} else {
answer1_mc.x = answer1PosX;
answer1_mc.y = answer1PosY;
check_btn.visible = false;
}
}
answer2_mc.addEventListener(TouchEvent.TOUCH_BEGIN,touchgo2);
function touchgo2(event: TouchEvent): void {
event.target.startTouchDrag(event.touchPointID,dragbounds);
answer2_mc.gotoAndStop(2);
answer1_mc.x = answer1PosX;
answer1_mc.y = answer1PosY;
answer3_mc.x = answer3PosX;
answer3_mc.y = answer3PosY;
}
answer2_mc.addEventListener(TouchEvent.TOUCH_END,touchno2);
function touchno2(event: TouchEvent): void {
event.target.stopTouchDrag(event.touchPointID);
answer2_mc.gotoAndStop(1);
if (answer2_mc.answer2_txt.text == sum) {
correct_answer = true;
} else {
correct_answer = false;
}
if (answer2_mc.hitTestObject(answerbox_mc)) {
answer2_mc.x = answerbox_mc.x;
answer2_mc.y = answerbox_mc.y;
check_btn.visible = true;
answer1_mc.x = answer1PosX;
answer1_mc.y = answer1PosY;
answer3_mc.x = answer3PosX;
answer3_mc.y = answer3PosY;
} else {
answer2_mc.x = answer2PosX;
answer2_mc.y = answer2PosY;
check_btn.visible = false;
}
}
answer3_mc.addEventListener(TouchEvent.TOUCH_BEGIN,touchgo3);
function touchgo3(event: TouchEvent): void {
event.target.startTouchDrag(event.touchPointID,dragbounds);
answer3_mc.gotoAndStop(2);
answer2_mc.x = answer2PosX;
answer2_mc.y = answer2PosY;
answer1_mc.x = answer1PosX;
answer1_mc.y = answer1PosY;
}
answer3_mc.addEventListener(TouchEvent.TOUCH_END,touchno3);
function touchno3(event: TouchEvent): void {
event.target.stopTouchDrag(event.touchPointID);
answer3_mc.gotoAndStop(1);
if (answer3_mc.answer3_txt.text == sum) {
correct_answer = true;
} else {
correct_answer = false;
}
if (answer3_mc.hitTestObject(answerbox_mc)) {
answer3_mc.x = answerbox_mc.x;
answer3_mc.y = answerbox_mc.y;
check_btn.visible = true;
answer2_mc.x = answer2PosX;
answer2_mc.y = answer2PosY;
answer1_mc.x = answer1PosX;
answer1_mc.y = answer1PosY;
} else {
answer3_mc.x = answer3PosX;
answer3_mc.y = answer3PosY;
check_btn.visible = false;
}
}
`
This is the error popping up when a choice is tapped for the second time
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)