Skip to main content
Participating Frequently
August 28, 2024
Answered

ACTIONSCRIPT 3

  • August 28, 2024
  • 1 reply
  • 1091 views

Hi, It's been a while since I did any coding and I've been racking my brain how to set a function for my true or false game exercise to have different answers for each frame. I.e. Frame 1 should be True, Frame 8 should be False. I'm trying to figure out how to make it work while using my randomizer. Here's my script so far:

 

import flash.events.MouseEvent;
 
stop();
 
menu_btn.addEventListener(MouseEvent.CLICK, backToMenu);
function backToMenu(event:MouseEvent):void {
gotoAndStop("menu");
}
 
var qcount:uint = 1;
var qtotal:uint = 10;
var score:int = 0;
 
trace("Current Score: ", score);
trace("Question #: ", qcount);
 
true_btn.addEventListener(MouseEvent.CLICK, checkAnswer);
false_btn.addEventListener(MouseEvent.CLICK, checkAnswer);
function checkAnswer(event:MouseEvent):void {
trace(event.target.name);
switch(qcount) {
case 1: //for frame 10
if(event.target.name == "true_btn") {
trace("CORRECT");
correct_mc.x = 506.2;
correct_mc.y = 391.7;
score = score + 1;
}
else {
trace("INCORRECT");
incorrect_mc.x = 506.2;
incorrect_mc.y = 391.7;
 
}
break;
 
 
}
}
 
var range:uint = 20;
var frame_reference:uint = 10;
var frame_location:Number;
 
nxt_btn.addEventListener(MouseEvent.CLICK, nextQuestion);
function nextQuestion(event:MouseEvent):void {
frame_location = Math.ceil((Math.random() * range) + frame_reference);
trace("Generated Random Number: ", frame_location);
gotoAndStop(frame_location);
qcount++;
trace("Question #: ", qcount);
correct_mc.x = 1200;
correct_mc.y = -150;
incorrect_mc.x = 1200;
incorrect_mc.y = -320;
trace("Current Score: ", score);
nextFrame();
if(qcount > qtotal) {
if(score >= 9) {
trace("5 Stars");
gotoAndStop("star5");
}
else if(score >= 7) {
trace("4 Stars");
gotoAndStop("star4");
}
else if(score >= 5) {
trace("3 Stars");
gotoAndStop("star3");
}
else if(score >= 3) {
trace("2 Stars");
gotoAndStop("star2");
}
else if(score >= 1) {
trace("1 Star");
gotoAndStop("star1");
}
else {
gotoAndStop("gameover");
}
}
 
}
    This topic has been closed for replies.
    Correct answer kglad

          if(event.target.name=="true_btn"&&currentFrame==12)

    1 reply

    kglad
    Community Expert
    Community Expert
    August 28, 2024

    you can use the frame number and or label in your if-statements.

    MechaDataAuthor
    Participating Frequently
    August 28, 2024

    Would that be like this?
          if(event.target.name == "true_btn") (frame_location = 12) {

                       trace("CORRECT");
    correct_mc.x = 506.2;
    correct_mc.y = 391.7;
    score = score + 1;
    }
    else {
    trace("INCORRECT");
    incorrect_mc.x = 506.2;
    incorrect_mc.y = 391.7;

    kglad
    Community Expert
    kgladCommunity ExpertCorrect answer
    Community Expert
    August 28, 2024

          if(event.target.name=="true_btn"&&currentFrame==12)