Показать сообщение отдельно
Старый 11.08.2012, 01:31
GoodWin74 вне форума Посмотреть профиль Отправить личное сообщение для GoodWin74 Найти все сообщения от GoodWin74
  № 1  
Ответить с цитированием
GoodWin74
 
Аватар для GoodWin74

Регистрация: Jun 2009
Сообщений: 81
Question QuickBox объект создается не там где должен

Есть код, где при нажатой клавише создается перевернутый объект, и при отпущенной клавише возвращается прежний. Только вот при возврате, объект как будто подпрыгивает. Уже все перерыл, не могу понять в чем дело. Вроде вычисление правильные: берем Y и плюсуем 40 px и обратно минусуем, разница между центром двух объектов ровно 40.
Код AS3:
package{
	import flash.display.*;
	import flash.events.*;
	import flash.geom.*;
	import flash.net.*;
	import flash.text.*;
	import flash.utils.*
	import com.actionsnippet.qbox.*;
	import Box2D.*;
	public class test extends Sprite{
		var sim:QuickBox2D;
		private var hero:QuickObject;
		var bol:Boolean =false;
		public function test() {
    			this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
    		}
 
    		public function onAddedToStage(e: Event): void {
			removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
				sim = new QuickBox2D(con);
				sim.addBox({x:447/30, y:622.5/30, width:910/30, height:37/30, density:0});
				hero = sim.addBox({x:300/30, y:529/30, width:89.8/30, height:150/30, density:0.07,allowSleep:false,restitution:0.0,fixedRotation:true});
				stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyPressed);
				stage.addEventListener(KeyboardEvent.KEY_UP, onKeyReleased);
				sim.start();
			}
			function onKeyPressed(evt:KeyboardEvent):void {
				if(!bol){
					bol = true
				var ySave:Number = hero.y+(40/30);
				hero.destroy();
				hero = sim.addBox({x:300/30, y:ySave, width:118/30, height:70/30, density:0.07,allowSleep:false,restitution:0.0,fixedRotation:true});
				}
			}
			function onKeyReleased(evt:KeyboardEvent):void {
				if(bol){
				bol = false
				var ySave:Number = hero.y-(40/30);
				hero.destroy()
				hero = sim.addBox({x:300/30, y:ySave, width:89.8/30, height:150/30, density:0.07,allowSleep:false,restitution:0.0,fixedRotation:true});
				}
			}
	}
}
http://serg1992.ucoz.com/test.swf
Вложения
Тип файла: rar test.fla.rar (203.6 Кб, 27 просмотров)


Последний раз редактировалось GoodWin74; 11.08.2012 в 01:59.