Flash 英语学习解译游戏-如何显示每个解译单词的图片
我目前正在做一个类似于这个游戏的解读英语学习游戏: 我想做的不同点是每次都显示一张解读单词的图片。我该怎么做呢?我将解读10种水果的名称 谢谢你的帮助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
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链接,这些链接是根据它们对应的水果命名的。非常感谢!请尝试我所说的,如果您遇到一些困难,您可以输入代码。