создать викторину, используя StartDrag и StopDrag - PullRequest
0 голосов
/ 31 декабря 2011

На самом деле у меня есть викторина. В файле два из них заполняют пустые вопросы, а остальные -
несколько вопросов.

square1_mc должен запускаться только один раз, а не дважды. Если выбран правильный пользователь, не запускать его снова. Однако, если mybadscoretext равен 1, не увеличивается 2,3,4. : S как я могу сделать все?

stop();

var myScore:Number = 0;
var myBadScore:Number=0;

square1_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
stage.addEventListener(MouseEvent.MOUSE_UP, drop);



function drag(e:MouseEvent):void
{
 e.target.startDrag();
}

function drop(e:MouseEvent):void
{

 square1_mc.stopDrag();
 if (square1_mc.hitTestObject(square2_mc)== true)
 {

square1_mc.x=129;
square1_mc.y=133;
 this.graphics.clear();
this.graphics.lineStyle(2, 000000);
this.graphics.moveTo(square1_mc.x, square1_mc.y);
this.graphics.lineTo(square2_mc.x, square2_mc.y);
this.graphics.endFill();


myScore += 1;
score_txt.text=String(myScore);
square1_mc.removeEventListener(MouseEvent.MOUSE_DOWN, drag);



 }

 else 
 { 

square1_mc.x=129;
square1_mc.y=133;
myBadScore += 1;
mybadscore_txt.text=String(myBadScore);


 }

}

1 Ответ

0 голосов
/ 02 января 2012

Добавьте переменную, чтобы отслеживать, был ли добавлен плохой результат:

var badMarked:Boolean = false;

function drag(e:MouseEvent):void
{
    e.target.startDrag();
    badMarked = false;
}

[...]

function drop(e:MouseEvent):void
{
    if (square1_mc.hitTestObject(square2_mc)== true)
    {
    [...]
    }
    else if ( !badMarked  )
    { 
        square1_mc.x=129;
        square1_mc.y=133;
        myBadScore += 1;
        mybadscore_txt.text=String(myBadScore);
        badMarked = true;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...