2012-12-30 34 views
1

我似乎有一点问题,我创建一个新的movieclip作为AS3的变量,现在AS文件是Monster.AS,与我的对象,如果我因为我有一个跟踪消息,但它不会显示在屏幕上,如果我将基类更改为flash.display.MovieClip并更改它,则会将其作为Monster和类Monster1的基类来运行。它运行的代码,并显示敌人...我很困惑,为什么它显示和不显示,因为基类是如何工作的,这里是创建怪物的代码AS3 Flash CS6对象基类和类

这个是Level.as的代码片段

public function Level(playerHero:HeroDisplay) 
    { 
     trace("Level code ran"); 
     monsterArray = new Array(); 
     heroGra = playerHero; 
     addChild(heroGra); 
     var newMonster = new Monster(); 
     monsterArray.push(newMonster); 
     addChild(newMonster); 
     setupLevel(1); 
     //Buttons 
     this.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin); 
     this.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove); 
     this.addEventListener(TouchEvent.TOUCH_END, onTouchEnd); 
    } 

这既适用于,但正如我如上所述,如果 基类=怪物 类= Monster1 不会被显示 如果基类=的flash.display.MovieClip 类=怪物 将被显示。

任何人都知道为什么?

帆布

更多信息, 这里是类+基类的图像

enter image description here

另外这里的怪物AS文件

package 
{ 
import flash.display.MovieClip; 

public class Monster extends MovieClip 
{ 
    public var id:Number; 
    public var hp:Number; 
    public var damage:Number; 
    public var speed:Number; 
    public var xPos:Number; 
    public var yPos:Number; 
    public var avaiableSkill:Number; 

    public function Monster() 
    { 
     id = 1; 
     monsterSetup(); 
    } 

    public function monsterSetup():void 
    { 
     switch(id) 
     { 
      case 1: hp = 10; damage = 1; speed = 2; avaiableSkill = 0; this.x = 100; this.y = 150; trace("Monster Setup"); 
      break; 
      default: 
      break; 
     } 
    } 
} 
} 
+0

类怪物(当你没有看到图形)扩展MovieClip或雪碧? – fsbmain

+0

你有怪物或怪物1级吗?还是只使用自动生成的类? – prototypical

+0

我的怪物类扩展了MovieClip,但Monster1没有AS文件,所以曾经有过 – Canvas

回答

1

你的怪物类有没有视觉方面。

怪物1,我正在假设你的怪物艺术品是正确的?

要使用Monster1类,你可以使用此代码:

var newMonster:Monster1 = new Monster1; 
addChild(newMonster); 

我不是你的方法是什么是很清楚,但根据你的设置,你永远不会产生视觉元素的一个实例 - 这是Monster1类。