as3 1119: 访问可能未定义的属性 getter/setter
Posted
技术标签:
【中文标题】as3 1119: 访问可能未定义的属性 getter/setter【英文标题】:as3 1119: Access of possibly undefined property getters/setters 【发布时间】:2015-01-12 13:56:45 【问题描述】:如果有人可以扩展当前的答案,那就太棒了,谢谢。
完全错误
Line 22 1119: Access of possibly undefined property CharacterX through a reference with static type flash.display:DisplayObject.
我正在尝试为对象鲨鱼设置一个变量,该变量已在对象字符中定义 第一次在 flash 中使用 setter,所以我可能做得不对。
我用来设置变量的代码我试图注释掉我认为与这个问题无关的东西,实际上并没有在实际代码中注释掉。
var character:Character;
//var bullet:Bullet=null;
//var bullets:Array = new Array();
//var enemies:Array = new Array();
//character=new Character(bullets);
addChild(character);
var shark:Shark=new Shark();
addChild(shark);
//var enemy:Enemy=null;
////var i:int;
//for (i=0; i<10; i++)
//enemy = new Enemy(Math.random()*stage.stageWidth, Math.random()*stage.stageHeight);
//addChild(enemy);
// enemies.push(enemy);
//
//stage.addEventListener(Event.ENTER_FRAME, colTest);
//function colTest(e:Event ):void
// if(character.hitTestObject(turtle))
// character.gotoAndStop("Turtle");
//
//
shark.setT(character.x, character.y)
我尝试使用上述函数在其中定义变量的类。
package
import flash.display.*;
import flash.events.*;
public class Shark extends MovieClip
var CharacterX:Number = 0;
var CharacterY:Number = 0;
public function Shark()
this.x = 300;
this.y = 200;
addEventListener(Event.ENTER_FRAME,playGame);
public function setT(characterx:Number,charactery:Number)
CharacterX = characterx - this.x;
CharacterY = charactery - this.y;
function playGame(event:Event):void
var ease:int = 20;
var speed:int = 10;
var targetX:int = root.CharacterX - this.x;
var targetY:int = root.CharacterY - this.y;
var rotation = Math.atan2(targetY,targetX) * 180 / Math.PI;
在此处截取代码,不想进行代码转储可以为您提供任何可能相关的内容,只需询问即可。
如果有帮助,这里是所有代码的粘贴箱,
Shark class:
Actions on Frame 1:
字符class
【问题讨论】:
【参考方案1】:首先让我说我无法在这里发现确切的问题,但我有一些想法。您的错误 1999 表示某些类型的显示对象正在尝试更改您的变量。当您使用 parent.myMethod() 时,这种情况经常发生,因为 parent 被键入为显示对象。你可以通过类型转换来解决这个问题 (parent as MovieClip).myMethod
在你的情况下,我没有看到这个问题的确切来源。但是你可以尝试在你的 setT 函数中使用 this.characterX
【讨论】:
好的,所以我尝试使用适当的 getter 和 setter,但它仍然回到同样的问题,你的意思是像 parent 作为movieclip 的类型转换/你有一个例子吗?抱歉,我真的是 Flash 新手。 如果有帮助,这里是所有代码的粘贴箱,Shark 类:pastebin.com/0GktA6VX 第 1 帧上的操作:pastebin.com/0gtB3nxG 字符类:pastebin.com/yWd5dc9R以上是关于as3 1119: 访问可能未定义的属性 getter/setter的主要内容,如果未能解决你的问题,请参考以下文章
AS3 中的“TypeError:错误 #1010:术语未定义且没有属性”
Flash AS3.0 - 错误 1180 调用可能未定义的方法 gotoAndPlay?