startup
07.01.2012, 22:57
Добрый вечер.
Пытаюсь разобраться с Flash и ActionScript 3 в частности, на примере простой игрушки.
Есть шарик, которым управляю стрелками на клавиатуре, необходимо научить его стрелять.
Имеется класс:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
public class Hero extends MovieClip
{
var speedX:Number = 0;
var speedY:Number = 0;
var power:Number = 1;
var friction:Number = 0.95;
var left:Boolean = false;
var up:Boolean = false;
var right:Boolean = false;
var down:Boolean = false;
public function Hero(){
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
stage.addEventListener(Event.ENTER_FRAME, HeroMotion);
stage.addEventListener(MouseEvent.CLICK, Bullet);
}
public function KeyDown(e:KeyboardEvent):void
{
switch(e.keyCode){
case 37: left = true; break;
case 38: up = true; break;
case 39: right = true; break;
case 40: down = true; break;
}
}
public function KeyUp(e:KeyboardEvent):void
{
switch(e.keyCode){
case 37: left = false; break;
case 38: up = false; break;
case 39: right = false; break;
case 40: down = false; break;
}
}
public function HeroMotion(e:Event):void
{
if(left == true){speedX -= power;}
if(right == true){speedX += power;}
if(up == true){speedY -= power;}
if(down == true){speedY += power;}
speedY *= friction;
speedX *= friction;
this.x += speedX;
this.y += speedY;
}
public function Bullet(e:Event):void
{
// Здесь должен быть выстрел
}
}
}
По щелчку мышки выполняется функция Bullet(), которая должна реализовать выстрел.
Подскажите, пожалуйста, как это сделать? Можно просто движение пули по оси X.
Пытаюсь разобраться с Flash и ActionScript 3 в частности, на примере простой игрушки.
Есть шарик, которым управляю стрелками на клавиатуре, необходимо научить его стрелять.
Имеется класс:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
public class Hero extends MovieClip
{
var speedX:Number = 0;
var speedY:Number = 0;
var power:Number = 1;
var friction:Number = 0.95;
var left:Boolean = false;
var up:Boolean = false;
var right:Boolean = false;
var down:Boolean = false;
public function Hero(){
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
stage.addEventListener(Event.ENTER_FRAME, HeroMotion);
stage.addEventListener(MouseEvent.CLICK, Bullet);
}
public function KeyDown(e:KeyboardEvent):void
{
switch(e.keyCode){
case 37: left = true; break;
case 38: up = true; break;
case 39: right = true; break;
case 40: down = true; break;
}
}
public function KeyUp(e:KeyboardEvent):void
{
switch(e.keyCode){
case 37: left = false; break;
case 38: up = false; break;
case 39: right = false; break;
case 40: down = false; break;
}
}
public function HeroMotion(e:Event):void
{
if(left == true){speedX -= power;}
if(right == true){speedX += power;}
if(up == true){speedY -= power;}
if(down == true){speedY += power;}
speedY *= friction;
speedX *= friction;
this.x += speedX;
this.y += speedY;
}
public function Bullet(e:Event):void
{
// Здесь должен быть выстрел
}
}
}
По щелчку мышки выполняется функция Bullet(), которая должна реализовать выстрел.
Подскажите, пожалуйста, как это сделать? Можно просто движение пули по оси X.