Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 英语学习解译游戏-如何显示每个解译单词的图片_Flash_Actionscript - Fatal编程技术网

Flash 英语学习解译游戏-如何显示每个解译单词的图片

Flash 英语学习解译游戏-如何显示每个解译单词的图片,flash,actionscript,Flash,Actionscript,我目前正在做一个类似于这个游戏的解读英语学习游戏: 我想做的不同点是每次都显示一张解读单词的图片。我该怎么做呢?我将解读10种水果的名称 谢谢你的帮助 package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.MouseEvent; public class Game extends MovieClip { public

我目前正在做一个类似于这个游戏的解读英语学习游戏:

我想做的不同点是每次都显示一张解读单词的图片。我该怎么做呢?我将解读10种水果的名称

谢谢你的帮助

package
{
   import flash.display.MovieClip;
   import flash.display.SimpleButton;
   import flash.events.MouseEvent;

   public class Game extends MovieClip
   {

  public function Game()
  {
     words = new Array();
     words_backup = new Array();
     tileArray = new Array();
     targetArray = new Array();
     scramble_Array = new Array();
     unscramble_Array = new Array();

     animals_b = new Array("peach","apple","strawberry","melon","grapes","cherry","pineapple","tomato","banana","orange");

     super();
     addFrameScript(0,frame1);
  }

  public var inici:MovieClip;

  public var bt1:SimpleButton;

  public var color:MovieClip;

  var words:Array;

  var words_backup:Array;

  var rand1:int;

  var rand2:int;

  var i:int;

  var ii:int;

  var ques_num:int;

  var current_word:String;

  var user_ans:String;

  var tileArray:Array;

  var targetArray:Array;

  var scramble_Array:Array;

  var unscramble_Array:Array;

  var temp:String;

  var flag:Boolean;

  var checker:button_chk;

  var f1:feedback1;

  var f2:feedback2;

  var f3:feedback3;

  var pauser:Boolean;

  var randomnum:int;

  var animals_b:Array;

  public function startGame(param1:*, param2:*) : *
  {
     inici.visible = false;
     color.x = param2.x;
     color.y = param2.y;
     if(words.length > 0)
     {
        i = 0;
        while(i < tileArray.length)
        {
           removeChild(tileArray[i]);
           removeChild(targetArray[i]);
           i++;
        }
        tileArray = [];
        targetArray = [];
        scramble_Array = [];
        unscramble_Array = [];
     }
     words = param1.slice();
     words_backup = param1;
     getword();
     checker = new button_chk();
     addChild(checker);
     checker.x = 290;
     checker.y = 450;
     checker.addEventListener(MouseEvent.CLICK,check_answer);
  }

  public function getword() : *
  {
     trace(words);
     if(words.length <= 0)
     {
        words = words_backup.slice();
     }
     randomnum = Math.floor(Math.random() * words.length);
     current_word = words[randomnum].toUpperCase();
     words.splice(randomnum,1);
     setTiles(current_word.length);
     ques_num++;
  }

  public function setTiles(param1:*) : *
  {
     var _loc2_:Tile = null;
     var _loc3_:Placeholder = null;
     tileArray = [];
     i = 0;
     while(i < param1)
     {
        _loc2_ = new Tile();
        addChild(_loc2_);
        _loc2_.x = 350 - param1 * 25 + param1 % 2 * 25 + i * 50;
        _loc2_.y = 350;
        _loc2_.tag = i;
        _loc2_.original_posx = _loc2_.x;
        _loc2_.original_posy = _loc2_.y;
        tileArray[i] = _loc2_;
        _loc3_ = new Placeholder();
        addChild(_loc3_);
        _loc3_.x = 350 - param1 * 25 + param1 % 2 * 25 + i * 50;
        _loc3_.y = 400;
        targetArray[i] = _loc3_;
        i++;
     }
     scramble_word(param1);
  }

  public function scramble_word(param1:*) : *
  {
     i = 0;
     while(i < param1)
     {
        scramble_Array[i] = current_word.slice(i,i + 1);
        i++;
     }
     i = 0;
     while(i < 15)
     {
        rand1 = Math.ceil(Math.random() * param1) - 1;
        rand2 = Math.ceil(Math.random() * param1) - 1;
        temp = scramble_Array[rand1];
        scramble_Array[rand1] = scramble_Array[rand2];
        scramble_Array[rand2] = temp;
        i++;
     }
     if(current_word == scramble_Array.join(""))
     {
        trace(scramble_Array.join(""));
        scramble_Array.reverse();
     }
     i = 0;
     while(i < param1)
     {
        tileArray[i].letter.text = scramble_Array[i];
        i++;
     }
     addListeners(param1);
  }

  public function addListeners(param1:*) : *
  {
     i = 0;
     while(i < param1)
     {
        tileArray[i].mouseChildren = false;
        tileArray[i].buttonMode = true;
        tileArray[i].addEventListener(MouseEvent.MOUSE_DOWN,pickup);
        tileArray[i].addEventListener(MouseEvent.MOUSE_UP,drop);
        i++;
     }
  }

  public function pickup(param1:MouseEvent) : *
  {
     if(!pauser)
     {
        param1.target.startDrag(true);
        this.setChildIndex(MovieClip(param1.target),this.numChildren - 1);
     }
  }

  public function drop(param1:MouseEvent) : *
  {
     param1.target.stopDrag();
     flag = false;
     i = 0;
     while(i < targetArray.length)
     {
        if(targetArray[i].hitTestObject(param1.target))
        {
           param1.target.x = targetArray[i].x;
           param1.target.y = targetArray[i].y;
           flag = true;
        }
        i++;
     }
     i = 0;
     while(i < tileArray.length)
     {
        if((tileArray[i].hitTestObject(param1.target)) && !(tileArray[i] == param1.target))
        {
           flag = false;
        }
        i++;
     }
     if(!flag)
     {
        param1.target.x = param1.target.original_posx;
        param1.target.y = param1.target.original_posy;
     }
  }

  public function check_answer(param1:MouseEvent) : *
  {
     user_ans = "";
     i = 0;
     while(i < targetArray.length)
     {
        ii = 0;
        while(ii < tileArray.length)
        {
           if(tileArray[ii].x == targetArray[i].x && tileArray[ii].y == targetArray[i].y)
           {
              user_ans = user_ans + tileArray[ii].letter.text;
           }
           ii++;
        }
        i++;
     }
     trace("user_ans: " + user_ans);
     trace("jordi_ans: " + user_ans);
     trace("current_word: " + current_word);
     if(user_ans == current_word)
     {
        f1 = new feedback1();
        addChild(f1);
        f1.x = 0;
        f1.y = 0;
        pauser = true;
        f1.buttonMode = true;
        f1.addEventListener(MouseEvent.CLICK,clear_board);
     }
     else
     {
        f2 = new feedback2();
        addChild(f2);
        f2.x = 0;
        f2.y = 0;
        pauser = true;
        f2.buttonMode = true;
        f2.addEventListener(MouseEvent.CLICK,continue_on);
     }
  }

  public function continue_on(param1:MouseEvent) : *
  {
     f2.removeEventListener(MouseEvent.CLICK,continue_on);
     removeChild(f2);
     pauser = false;
  }

  public function clear_board(param1:MouseEvent) : *
  {
     f1.removeEventListener(MouseEvent.CLICK,continue_on);
     removeChild(f1);
     pauser = false;
     i = 0;
     while(i < tileArray.length)
     {
        removeChild(tileArray[i]);
        removeChild(targetArray[i]);
        i++;
     }
     tileArray = [];
     targetArray = [];
     scramble_Array = [];
     unscramble_Array = [];
     if(ques_num == words.length + 99999)
     {
        removeChild(checker);
        f3 = new feedback3();
        addChild(f3);
        f3.x = 0;
        f3.y = 0;
     }
     else
     {
        getword();
     }
  }

  function frame1() : *
  {
     bt1.addEventListener(MouseEvent.CLICK,function():*
     {
        startGame(animals_b,bt1);
     });   
  }
   }
}
包
{
导入flash.display.MovieClip;
导入flash.display.SimpleButton;
导入flash.events.MouseEvent;
公共类游戏扩展MovieClip
{
公共功能游戏()
{
words=新数组();
words_backup=新数组();
TilerRay=新数组();
targetArray=新数组();
置乱数组=新数组();
解读_数组=新数组();
animals_b=新数组(“桃”、“苹果”、“草莓”、“瓜”、“葡萄”、“樱桃”、“菠萝”、“番茄”、“香蕉”、“橙子”);
超级();
addFrameScript(0,frame1);
}
公共风险:MovieClip;
公共变量bt1:SimpleButton;
公共颜色:MovieClip;
变量字:数组;
var-words\u备份:数组;
var-rand1:int;
var-rand2:int;
变量i:int;
var ii:int;
变量ques_num:int;
var当前_字:字符串;
var user_ans:字符串;
var-tileray:数组;
var-targetArray:数组;
var-scramble_数组:数组;
var解读_数组:数组;
var-temp:字符串;
var标志:布尔;
var检查:按钮_chk;
变量f1:反馈1;
变量f2:反馈2;
变量f3:反馈3;
var-pauser:布尔型;
var-randomnum:int;
变量b:数组;
公共功能开始名称(参数1:*,参数2:*:*
{
inici.visible=false;
color.x=param2.x;
color.y=param2.y;
如果(words.length>0)
{
i=0;
而(i如果(words.length)您可以使用数组来放置图像(外部文件的路径或插入到库中的图像的类名),就像您对水果名称所做的那样。由于每次都随机调用单词,我该如何确保每个显示的图片与相应的单词匹配?图像的顺序与单词的顺序相同(水果名称)所以当你选择一个单词时,你知道它在数组中的索引,你只需要选择具有相同索引的图像。如果我要求太多,我很抱歉,但是你能告诉我要添加哪些行吗?很多代码都是反编译的,我实际上是为我的小学老师阿姨做的。我有电影剪辑(图像)库中的每个水果都有AS链接,这些链接是根据它们对应的水果命名的。非常感谢!请尝试我所说的,如果您遇到一些困难,您可以输入代码。