【发布时间】:2015-03-04 20:17:07
【问题描述】:
完全错误: TypeError:错误 #1034:类型强制失败:无法将 flash.events::KeyboardEvent@4ff2301 转换为 flash.events.MouseEvent。
我遵循了一个非常简单的教程,使用 ActionScript 3 进行了一个简单的测验。但是,一旦完成,我就会收到上述错误。该教程已经很老了,所以只是希望这里有人可以检查一下,看看我是否犯了明显的错误。
Enter_btn.addEventListener(MouseEvent.CLICK, go);
var quizModel:Array = [{q:"2+2", a:"4"}, {q:"What colour is a banana = ?", a:"Yellow"}];
var user_ans:Array = new Array();
var newQuizModel:Array = shuffleArray(quizModel);
stage.addEventListener(KeyboardEvent.KEY_DOWN, go);
function showQuiz(index:int):void
{
question_txt.text = newQuizModel[index]["q"];
}
var index:int = 0;
question_txt.text = newQuizModel[index]["q"];
var userAnswer:String = "";
function go(e:MouseEvent)
{
userAnswer = answers_txt.text;
if (userAnswer == newQuizModel[index]["a"])
{
rightwrong_txt.text = "Your answer is correct!";
}
else
{
rightwrong_txt.text = "Your answer is wrong";
return;
}
index++;
index%= quizModel.length;
showQuiz(index);
}
function shuffleArray(arr:Array):Array
{
var l:Number = arr.length - 1;
for (var it:uint = 0; it<l; it++)
{
var r:int = Math.round(Math.random() * l); /// l is an L
var tmp:Object = arr[it];
arr[it] = arr[r];
arr[r] = tmp;
}
return arr;
}
showQuiz(index);
【问题讨论】: