우선, AS3를 처음 사용합니다. 내가하려는 것은 원형 형태로 공을 만들고 자전하는 것입니다. 이것은 Circular.as왜이 코드 (AS3)에서 위치를 설정할 수 없습니까?
public class Circular extends Sprite {
private var ball:Ball;
private var centerX:Number = stage.stageWidth/2;
private var centerY:Number = stage.stageHeight/2;
private var radiusX:Number = 500;
private var radiusY:Number = 500;
//private var temp:Number = 180;
private static const speed:Number = 0.1;
public function Oval() {
init();
}
private function init():void {
ball = new Ball(40,0x00ff00,180.0);
addChild(ball);
ball.addEventListener(Event.ENTER_FRAME, startMoving(ball,ball.getAngle()));
}
private function startMoving(object:Ball, angle:Number) {
return function(evt:Event){
onStart(object,angle);
}
}
private function onStart(object:Ball,angle:Number){
object.x = centerX + Math.sin(angle) * radiusX;
object.y = centerY + Math.cos(angle) * radiusY;
ball.setAngle(speed);
//trace(ball.getAngle());
}
}
입니다 이 미안, 내가 지금 직면하고있는 문제를 언급하는 것을 잊었다 오전 Ball.as 클래스 파일
public class Ball extends Sprite {
private var _radius:Number;
private var _color:uint;
private var _angle:Number;
public function Ball(radius:Number,color:uint, angle:Number) {
_radius = radius;
_color = color;
_angle = angle;
init();
}
public function init():void {
graphics.beginFill(_color);
graphics.drawCircle(0,0,_radius);
graphics.endFill();
}
public function getAngle():Number{
return _angle;
}
public function setAngle(speed:Number){
_angle += speed;
}
}
입니다 : 이것은 내 현재 코드입니다 . 지금 당장 가지고있는 문제는 공이 움직이지 않았다는 것입니다. 어떤 아이디어?
감사합니다. 그러나 나는 문제를 직접 해결했다. 클래스 이름이 아니라 여기에서 변경하는 것을 잊었습니다. P 내가 한 일은 다음과 같이 변경되었습니다. object.x = centerX + Math.sin (object.getAngle()) * radiusX; 어쨌든, 클래스 이름을 언급 해 주셔서 감사합니다 –