好吧,所以我正在尝试创建一个移动Flash游戏(我主要是一个动画师,一个讲故事者),我在播放器名称的输入文本方面遇到了麻烦。我经常在这个网站上阅读有用的提示,所以我报名参加了一些帮助。我用来加载和保存数据的代码是saveDataObject,但据我所知,输入文本必须与包代码一起使用。我试图将其转换为函数var,但随后会出现这些错误。我不确定如何使用Package类代码,我读过的所有内容都令人困惑。我通过教程和论坛对我所知道的关于代码的所有知识都非常自学,所以如果没有以某种方式解释我能理解我将无法做到...
如果我不清楚(错误行分开),这是代码部分:
Object.prototype
-
var playerName:int;
init(); // this line goes directly beneath the variables
function f_1(init):void
{ // call once to set everything up
saveDataObject = SharedObject.getLocal("DataBattle/character/name"); // give the save data a location
-
playerName = txtPlayer;
-
function addName(e:TouchEvent):void
{
var myTextBox1:TextField = new TextField();
var txtPlayer:TextField = new TextField();
var myText:String = "Cyan";
function CaptureUserInput()
{
captureText();
}
function captureText():void
{
myTextBox1.type = TextFieldType.INPUT;
myTextBox1.background = true;
addChild(myTextBox1);
myTextBox1.text = myText;
myTextBox1.addEventListener(TextEvent.TEXT_INPUT, textInputCapture);
}
function textInputCapture(event:TextEvent):void
{
var str:String = myTextBox1.text;
createOutputBox(str);
}
function createOutputBox(str:String):void
{
txtPlayer.background = false;
txtPlayer.x = 200;
addChild(txtPlayer);
txtPlayer.text = str;
}
-
if(saveDataObject.data.characterName = playerName == null)
答案 0 :(得分:0)
很高兴有关于此错误的更多详细信息。就像哪条线实际上抛出了这个错误。
然而,即使没有它,也很少有东西看起来很奇怪。
var playerName:int;
// And few lines below
playerName = txtPlayer;
// Few more lines below
var txtPlayer:TextField = new TextField();
您似乎将playerName
声明为int,因此您希望存储数值,但txtPlayer
是TextField。所以通过playerName = txtPlayer;
你试图将TextField存储为Int值,这是行不通的。
我也可以看到
if(saveDataObject.data.characterName = playerName == null)
就像:O
我甚至不确定这部分是如何编译的。你想做playerName == null
检查(会返回true / false),然后将它分配给saveDataObject.data.characterName?