|
|
|||||
Регистрация: May 2009
Сообщений: 122
|
Вращение вокруг своей оси
Есть код
var angle:Number = 0; var angleChange:Number = 10; // speed var radius:Number = 100; var centerX:Number = stage.stageWidth / 2; var centerY:Number = stage.stageHeight / 2; var satellite:MovieClip = new Asteroid(); satellite.x = stage.stageWidth / 2; satellite.y = stage.stageHeight / 2; addChild(satellite); addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true); function onLoop(evt:Event):void { var radian:Number = deg2rad(angle); satellite.x = centerX + radius * Math.cos(radian); satellite.y = centerY + radius * Math.sin(radian) angle += angleChange; angle %= 360; if(angle == 0) angleChange = 0; } function deg2rad(deg:Number):Number { return deg * (Math.PI/180) } Подскажите пожалуйста, как сделать, чтоб объект вращался относительно своего центра(точка регистрации находитсяв центре). Спасибо |
|
|||||
Регистрация: May 2009
Сообщений: 122
|
Цитата:
var angle:Number = 0; var angleChange:Number = 10; // speed var radius:Number = 100; var satellite:MovieClip = new Asteroid(); satellite.x = stage.stageWidth / 2; satellite.y = stage.stageHeight / 2; addChild(satellite); var centerX:Number = satellite.x - satellite.width / 2; var centerY:Number = satellite.y - satellite.height / 2; addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true); function onLoop(evt:Event):void { var radian:Number = deg2rad(angle); satellite.x = centerX + radius * Math.cos(radian); satellite.y = centerY + radius * Math.sin(radian) angle += angleChange; angle %= 360; if(angle == 0) angleChange = 0; } function deg2rad(deg:Number):Number { return deg * (Math.PI/180) } |
|
|||||
Регистрация: May 2009
Сообщений: 122
|
Цитата:
var angle:Number = 0; var angleChange:Number = 10; // speed var radius:Number = 100; var satellite:MovieClip = new Asteroid(); satellite.x = stage.stageWidth / 2; satellite.y = stage.stageHeight / 2; addChild(satellite); var centerX:Number = satellite.x - satellite.width / 2; var centerY:Number = satellite.y - satellite.height / 2; addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true); function onLoop(evt:Event):void { var radian:Number = deg2rad(angle); satellite.x = satellite.x + radius * Math.cos(radian); satellite.y = satellite.y + radius * Math.sin(radian) angle += angleChange; angle %= 360; if(angle == 0) angleChange = 0; } function deg2rad(deg:Number):Number { return deg * (Math.PI/180) } |
|
|||||
Регистрация: May 2009
Сообщений: 122
|
Цитата:
я пишу var angle:Number = 0; var angleChange:Number = 10; // speed var radius:Number = 100; var satellite:MovieClip = new Asteroid(); satellite.x = stage.stageWidth / 2; satellite.y = stage.stageHeight / 2; addChild(satellite); var satelliteX:Number = satellite.x - satellite.width / 2; var satelliteY:Number = satellite.y - satellite.height / 2; addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true); function onLoop(evt:Event):void { var radian:Number = deg2rad(angle); satelliteX = satelliteX + radius * Math.cos(radian); satelliteY = satelliteY + radius * Math.sin(radian) angle += angleChange; angle %= 360; if(angle == 0) angleChange = 0; } function deg2rad(deg:Number):Number { return deg * (Math.PI/180) } |
|
|||||
о___О
satelliteX = satelliteX + radius * Math.cos(radian); satelliteY = satelliteY + radius * Math.sin(radian) obj.x = satelliteX + radius * Math.cos(radian); obj.y = satelliteY + radius * Math.sin(radian) Что-то Вы все напутали.
__________________
тут я |
|
|||||
Регистрация: May 2009
Сообщений: 122
|
Цитата:
var angle:Number = 0; var angleChange:Number = 10; // speed var radius:Number = 100; var satellite:MovieClip = new Asteroid(); satellite.x = stage.stageWidth / 2; satellite.y = stage.stageHeight / 2; addChild(satellite); var satelliteX:Number = satellite.x - satellite.width / 2; var satelliteY:Number = satellite.y - satellite.height / 2; addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true); function onLoop(evt:Event):void { var radian:Number = deg2rad(angle); satellite.x = satelliteX + radius * Math.cos(radian); satellite.y = satelliteY + radius * Math.sin(radian) angle += angleChange; angle %= 360; if(angle == 0) angleChange = 0; } function deg2rad(deg:Number):Number { return deg * (Math.PI/180) } |
Часовой пояс GMT +4, время: 11:05. |
|
« Предыдущая тема | Следующая тема » |
Теги |
angle , rotation |
|
|