2009-03-13 3 views
1

나는 Physics Engine for AS3으로 게임을하고 있으며 아래 코드는 기본적으로 hello world 예제입니다. 그러나 클래스 정의 시작 부분에 "ball"속성을 WheelParticle으로 선언하여 약간의 변경을했습니다. (틀린 경우 내 용어를 용서하십시오.) 이전에는 생성자 내부에서Flash에서이 암시 적 강제 변환 오류를 어떻게 해결할 수 있습니까?

으로 선언되어 제대로 작동했습니다. | 그러나 지금, 그것을 내 방식을 시도하고 나는 오류에게 관련이없는 Class 형을 형 org.cove.ape.WheelParticle의 값의

암시 강요를 얻을 수 볼 : WheelParticle = 새 ... 등 등

"클래스 불법 할당 WheelParticle"

그래서 내가 뭔가해야 내 선언 public var ball:WheelParticle을 생각하고 있어요. 근데 뭐?

어쨌든, 여기에 코드입니다. 꽤 짧습니다. 나는 문서를 참조 하겠지만 아무 것도 없다. 어쨌든 찾을 수있는 것은 없습니다.

패키지 {

import org.cove.ape.*; 
    import flash.events.*; 
    import flash.display.Sprite;  

    public class Bounce extends Sprite { 

     public var ball:WheelParticle; 

    public function Bounce() { 

     stage.focus = this; 
     stage.frameRate = 100; 
     addEventListener(Event.ENTER_FRAME, run); 

     stage.addEventListener(KeyboardEvent.KEY_DOWN, moveLeft); 

     APEngine.init(0.3); 
     APEngine.container = this; 
     APEngine.addMasslessForce(new Vector(0,2)); 

     var defaultGroup:Group = new Group(); 
     defaultGroup.collideInternal = true; 

     var ball:WheelParticle = new WheelParticle(250,10,40, false, 1, 0.7, 0.1); 
     defaultGroup.addParticle(ball); 

     var rp:RectangleParticle = new RectangleParticle(250,300,300,50,0,true); 
     defaultGroup.addParticle(rp); 


     APEngine.addGroup(defaultGroup); 
     } 

     private function moveLeft(e:Event):void{ 
      ball.speed += 1; 
    } 

     private function run(evt:Event):void { 
     APEngine.step(); 
     APEngine.paint(); 
     } 
    } 

}

답변

2

가져 오기 (당신이 필요로하는 다른 모든 클래스와 함께) WheelParticle 클래스를 명시 적으로 : 수입 누락의 가장 큰 원인이다

package { 
import flash.display.Sprite; 
import flash.events.Event; 
import flash.events.KeyboardEvent; 

import org.cove.ape.APEngine; 
import org.cove.ape.Group; 
import org.cove.ape.RectangleParticle; 
import org.cove.ape.Vector; 
import org.cove.ape.WheelParticle; 

    public class Bounce extends Sprite { 

그건 너의 오류. 또한 샘플 코드에는 작은 결함이 있습니다.

public class Bounce extends Sprite { 

    public var ball:WheelParticle; 

ball라는 유형 WheelParticle의 클래스 Bounce의 멤버 변수를 선언합니다.

var ball:WheelParticle = new WheelParticle(250,10,40, false, 1, 0.7, 0.1); 

Bounce의 생성자에 같은 종류와 같은 이름 로컬하지만 또 다른 변수를 생성한다. 그리고이 하나는 전자를 어둡게합니다. 멤버 변수를 사용하려면 다음을 사용하십시오.

ball = new WheelParticle(250,10,40, false, 1, 0.7, 0.1);