Я делаю простую настоящую и ложную игру с перетаскиванием.Почему клип поступил неправильно?
я сделать все объекты на сцене, как фрагмент ролика:
вопросы (q1, q2, q3),
цель снижения (q1Match, q2Match, q3Match)
перетащить объект (ответ), например. q1a1 и q1a2 для вопроса 1, и
Ответ на правильный и неправильный ответ (oui, non).
Пользователь может перейти к следующему вопросу после ответа, пропустить вопрос и вернуться к ответу на предыдущий неотвеченный вопрос.
У меня возникли проблемы, когда пользователь вернулся к ответу на предыдущий неотвеченный вопрос.
Скажите, что пользователь пропустил вопрос 2, затем ответьте на него правильно. Вопрос Пользователь вернется к ответу на вопрос 2. Когда пользователь перетаскивает неправильно, чтобы отбросить цель, в ответе будет показан фрагмент фильма «oui», в котором говорится, что это правильный ответ , Похоже, что он несет в памяти ответы на него прямо на вопрос 3.
import flash.display.MovieClip;
import flash.events.MouseEvent;
oui.visible = false;
non.visible = false;
q1.visible = true;
q2.visible = false;
q3.visible = false;
q1Match.visible = true;
q2Match.visible = false;
q3Match.visible = false;
q1a1.visible = true;
q1a2.visible = true;
q2a1.visible = false;
q2a2.visible = false;
q3a1.visible = false;
q3a2.visible = false;
back_btn.visible = false;
var num:int = 0;
nx_btn.addEventListener(MouseEvent.CLICK, nextQuestion);
function nextQuestion(event:MouseEvent):void{
switch (num){
case 0:
oui.visible = false;
non.visible = false;
q1.visible = false;
q1Match.visible = false;
q1a1.visible = false;
q1a2.visible = false;
q2.visible = true;
q2Match.visible = true;
q2a1.visible = true;
q2a2.visible = true;
back_btn.visible = true;
back_btn.buttonMode = true;
break;
case 1:
oui.visible = false;
non.visible = false;
q2Match.visible = false;
q2.visible = false;
q2a1.visible = false;
q2a2.visible = false;
q3.visible = true;
q3Match.visible = true;
q3a1.visible = true;
q3a2.visible = true;
break;
case 2:
oui.visible = false;
non.visible = false;
q3.visible = false;
q3Match.visible = false;
q3a1.visible = false;
q3a2.visible = false;
gotoAndStop(3);
break;
}
num++;
}
back_btn.addEventListener(MouseEvent.CLICK, prevQuestion);
function prevQuestion(event:MouseEvent):void{
switch (num){
case 0:
oui.visible = false;
non.visible = false;
back_mc.visible = false;
break;
case 1:
oui.visible = false;
non.visible = false;
q2.visible = false;
q2Match.visible = false;
q2a1.visible = false;
q2a2.visible = false;
q1.visible = true;
q1Match.visible = true;
q1a1.visible = true;
q1a2.visible = true;
back_mc.visible = false;
break;
case 2:
oui.visible = false;
non.visible = false;
q3.visible = false;
q3Match.visible = false;
q3a1.visible = false;
q3a2.visible = false;
q2.visible = true;
q2Match.visible = true;
q2a1.visible = true;
q2a2.visible = true;
back_mc.visible = true;
back_mc.buttonMode = true;
break;
}
num--;
}
var dragArray:Array = [q1a1, q1a2, q2a1, q2a2, q3a1, q3a2];
var matchArray:Array = [q1Match, q2Match, q3Match];
var currentClip:MovieClip;
var startX:Number;
var startY:Number;
for(var i:int = 0; i < dragArray.length; i++) {
dragArray[i].buttonMode = true;
dragArray[i].addEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
function item_onMouseDown(event:MouseEvent):void {
currentClip = MovieClip(event.currentTarget);
startX = currentClip.x;
startY = currentClip.y;
addChild(currentClip);
currentClip.startDrag();
stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
}
function stage_onMouseUp(event:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
currentClip.stopDrag();
var index:int = dragArray.indexOf(currentClip);
var matchClip:MovieClip = MovieClip(matchArray[index]);
oui.visible = false;
non.visible = false;
if(q1a1.hitTestObject(q1Match)) {
q1a1.x = q1Match.x;
q1a1.y = q1Match.y;
q1a1.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
q1a2.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
q1a1.buttonMode = false;
q1a2.buttonMode = false;
oui.visible = true;
non.visible = false;
}
if(q1a2.hitTestObject(q1Match)){
q1a2.x = startX;
q1a2.y = startY;
non.visible = true;
oui.visible = false;
}
if(q2a2.hitTestObject(q2Match)) {
q2a2.x = q2Match.x;
q2a2.y = q2Match.y;
q2a1.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
q2a2.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
q2a1.buttonMode = false;
q2a2.buttonMode = false;
oui.visible = true;
non.visible = false;
}
if(q2a1.hitTestObject(q2Match)){
q2a1.x = startX;
q2a1.y = startY;
non.visible = true;
oui.visible = false;
}
if(q3a2.hitTestObject(q3Match)) {
q3a2.x = q3Match.x;
q3a2.y = q3Match.y;
q3a1.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
q3a2.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
q3a1.buttonMode = false;
q3a2.buttonMode = false;
oui.visible = true;
non.visible = false;
}
if(q3a1.hitTestObject(q3Match)){
q3a1.x = startX;
q3a1.y = startY;
non.visible = true;
oui.visible = false;
}
}
, пожалуйста, помогите! T_T
Большое спасибо Vesper. он отлично работал! спасибо, что спасли меня, спасибо.^_ ^ –