对text.flash类型的值进行隐式强制:TextField为不相关的Int

时间:2016-04-27 12:17:11

标签: actionscript-3 flash textbox

好吧,所以我正在尝试创建一个移动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)

1 个答案:

答案 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?