2011-08-29 2 views
0

저는 새롭고 as3의 클래스 사용에 문제가 있습니다. 내 기본 타임 라인 여기AS3 객체 배열을

function badPlayer() 
    { 
     var bads:Array = new Array(); 
     for (var i=0; i<5; i++) 
     { 
      var mc = new bman(); 
      mc.name=["mc"+i]; 
      bads.push(mc); 
      _backGround.addChild(mc); 
      mc.x = 100; 
      mc.y = 100; 
      trace (bads); 
      Baddies(_backGround.mc); //here I am trying to export mc to my class 
     } 
    } 

에서 객체의 배열을 만든 싹둑 - 그것은 내 클래스에서. 내 추적 진술도 출력되지 않습니다.

public class Baddies extends MovieClip 
{ 
    private var pistolSound:pistolShot = new pistolShot(); 
    //private var mc = new mc(); 
    private var _rotateSpeedMax:Number = 2; 
    private var _gravity:Number = .68; 
    private var _bulletSpeed:Number = 2;   
    private var _maxDistance:Number = 200; 
    private var _reloadSpeed:Number = 500; //milliseconds 
    private var _barrelLength:Number = 20; 
    private var _bulletSpread:Number = 5; 
    private var _isLoaded:Boolean = true;  
    private var _isFiring:Boolean = true; 
    private var _endX:Number; 
    private var _endY:Number; 
    private var _startX:Number; 
    private var _startY:Number; 
    private var _reloadTimer:Timer; 
    private var _bullets:Array = []; 
    private var _gun:MovieClip; 
    private var _enemy:MovieClip; 
    private var _yx:Number; 
    private var _yy:Number; 
    private var _pcos:Number; 
    private var _psin:Number; 
    private var _trueRotation:Number; 
    public function Baddies() 
    { 
     trace("working"); 
     stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler); 
    } 

는 기본적으로 나는 몇몇 나쁜 사람 (bman)를 만들고 동일한 코드를 가지고 그들 각각에 적용하려합니다. 나는 또한 bman의 연결 이름을 Baddies로 변경하려고 시도했지만 성공하지 못했습니다.

+1

하지만 경우에도 :

public function Baddies() { trace("new baddie created"); } public function init(mc:MovieClip) { mc.addChild(this); // display this baddie trace("working"); stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } 

그리고 badPlayer 기능에 코드에 다른 문제가 발생했습니다. 내가 Baddies (_backGround.mc)로 당신의 목표를 원한다는 것을 이해한다면, 나는 (또는 다른 누군가) 당신을 위해 모든 것을 다시 쓸 수 있었다. 그런데 Baddies (_background, mc)는'_background.mc'를'Baddies' 객체로 변환합니다. – Taurayi

+0

lol ... 나는 badPlayer() 함수를 호출하려고합니다. 나는 여러 badguys를 동적으로 생성하는 함수를 만들려고 노력 중이다. 이것은 각각의 badguys가 플레이어를 가리키며 쏘고 싶어하는 플랫폼 스타일의 게임입니다. _backGround는 플랫폼 세계의 인스턴스이며 각 mc 또는 "bman"은 badguys입니다. 이것은 내가 실제로 외부 AS 파일을 사용하고 있으며 혼란스러워하는 첫 번째 게임입니다. 메인 타임 라인에서이 전체 게임을 코딩했다면 아마 지금까지 게임을 끝내고있을 것입니다. – Heady

+0

물리적으로 bman 인스턴스를 무대에 올려 놓았을 때 코드가 올바르게 작동하도록했습니다. 하지만 나는 여러 명의 나쁜 놈들을두고 플랫폼 세계의 임의의 위치에 각각 배치하려고합니다. addChild를 시도 할 때 모든 지옥이 느슨해졌습니다. – Heady

답변

0

이 코드에는 매우 잘못된 몇 가지 사항이 있습니다.

Baddies(_backGround.mc); //here I am trying to export mc to my class 

이것은 설명에 이미 설명 된대로 유형 변환입니다. 덧붙여서 Baddies은 복수형이기 때문에 좋은 이름이 아닙니다.

var baddie = new Baddies(); 

이제 생성자가 stage 변수를 사용 : 당신은 아마이 줄을 함께 할 것 새로운 나쁜 사람을 만들려고합니다. 스테이지에 객체가 없기 때문에이 작업을 수행 할 수 없으므로 stagenull입니다. 인스턴스를 드래그하여 편집기에서 스테이지로 드래그하면 작동 할 수 있습니다. 그래서 사용하기 전에 stage 실제로 무대에 개체를 추가해야합니다 : 귀하는 아마도`badPlayer() '함수를 호출하지

var baddie = new Baddies(); 
baddie.init(_backGround); 
+0

감사합니다 만 kapep ... 나는 새로운 실수의 전체 slew있다 그러나 그들은 관련이 없으며 나는 그들을 통해 일하는 아무 문제가 없어야한다 : D – Heady

+0

다 실행 중이다 ... 다시 한번 감사드립니다. – Heady

관련 문제