Помогите пожалуйста настроить движения игрока adobe flash cs5 пробывал уже по разному stage.addEventListener(KeyboardEvent.KEY_DOWN, GODOWN); function GODOWN(event:KeyboardEvent):void{ if(event.keyCode == Keyboard.LEFT) { if (cantx1 == 0) { sp.x -= 5; } } } (убирал if (cantx1...) еще делал stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown); addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown); и там на кейсы но всеравно нажимаешь вверх и вправо он либо туда либо туда а как убрать задержку оттуда Помог поставь + Проект DeadWorldZ пока заморожен иными словами разрабатывается скрытно Skype: Skmaestro867
В коде написал только основы - без движения по диагоналям и т.п. и т.д, нужно могу дописать.
Code
var up:Boolean = false; var down:Boolean = false; var left:Boolean = false; var right:Boolean = false; var speed:Number = 5; stage.addEventListener(KeyboardEvent.KEY_DOWN, downn); stage.addEventListener(KeyboardEvent.KEY_UP, upp); function downn(e:KeyboardEvent): void{ if (e.keyCode==37){ left = true; }if(e.keyCode==39){ right = true; }if(e.keyCode==38){ down = true; }if(e.keyCode==40){ up = true; } } function upp(e:KeyboardEvent): void{ if (e.keyCode==37){ left = false; }if(e.keyCode==39){ right = false; }if(e.keyCode==38){ down = false; }if(e.keyCode==40){ up = false; } } addEventListener(Event.ENTER_FRAME, fk); function fk (e:Event) : void { if (left){ yy.x -= speed; }if(right){ yy.x += speed; }if(up){ yy.y += speed; }if(down){ yy.y -= speed; } }
Добавлено (29.06.2012, 18:58) --------------------------------------------- А вот пример движения по диагоналям.
Code
var up:Boolean = false; var down:Boolean = false; var left:Boolean = false; var right:Boolean = false; var speedX:Number = 0; var speedY:Number = 0; var power:Number = 0.3; var trenie:Number = 0.95; stage.addEventListener(KeyboardEvent.KEY_DOWN, downn); stage.addEventListener(KeyboardEvent.KEY_UP, upp); function downn(e:KeyboardEvent): void{ if (e.keyCode==37){ left = true; }if(e.keyCode==39){ right = true; }if(e.keyCode==38){ down = true; }if(e.keyCode==40){ up = true; } } function upp(e:KeyboardEvent): void{ if (e.keyCode==37){ left = false; }if(e.keyCode==39){ right = false; }if(e.keyCode==38){ down = false; }if(e.keyCode==40){ up = false; } } addEventListener(Event.ENTER_FRAME, fk); function fk (e:Event) : void { if (left){ speedX -= power; }if(right){ speedX += power; }if(up){ speedY += power; }if(down){ speedY -= power; } speedX *= trenie; speedY *= trenie; yy.x += speedX; yy.y += speedY; }
Правда, тут есть лишнее - сила трения. замедления - может будет интересно, если не разберётесь - пишите.
Спасибо но немного не то что искал, сделаю по своему Скажите только как сделать проверку не на down,up а на press (если она вжатая)?? Нашел там баг Идешь направо, жмешь вверх он прыгает и падает, а вправо больше не идет вот решил исправить Помог поставь + Проект DeadWorldZ пока заморожен иными словами разрабатывается скрытно Skype: Skmaestro867
stage.addEventListener(KeyboardEvent.KEY_DOWN, downn); stage.addEventListener(KeyboardEvent.KEY_UP, upp); а как сделать stage.addEventListener(KeyboardEvent.KEY_PRESS, downn); stage.addEventListener(KeyboardEvent.KEY_RELEASE, upp);
Добавлено (30.06.2012, 00:29) --------------------------------------------- Спасибо за внимание! Ваш код действительно то что нужно я вдруг вспомнил про него и сделал с 0 похож и все гуд Спасибо!
Помог поставь + Проект DeadWorldZ пока заморожен иными словами разрабатывается скрытно Skype: Skmaestro867