help me please ..to make rapid press
I have a problem making character attack with AS3 ,.. when I try programing one press keyboard (key space) to attack, it will happen continoussly when the key holding down press... I just need one tab press then the attack excute,.. not holding press .. help me please.... I beg U all,.. btw sorry for bad english ... here my source code:
package
{
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;
public class Main extends MovieClip
{
var vx:int;
var vy:int;
var serang:Boolean=true;
public function Main()
{
init();
}
function init():void
{
vx=0;
vy=0;
serang=false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyTekan);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyLepas);
stage.addEventListener(Event.ENTER_FRAME, onEnterframe);
}
function onKeyTekan(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.SPACE)
{
if (serang == true)
{
Player.gotoAndStop(3);
serang == false;
}
}
if (event.keyCode == Keyboard.LEFT)
{
vx = -5;
Player.gotoAndStop(2);
Player.scaleX = -0.3;
}
else if (event.keyCode == Keyboard.RIGHT)
{
vx = 5;
Player.gotoAndStop(2);
Player.scaleX = 0.3;
}
else if (event.keyCode == Keyboard.DOWN)
{
vy = 5;
Player.gotoAndStop(2);
}
else if (event.keyCode == Keyboard.UP)
{
vy = -5;
Player.gotoAndStop(2);
}
}
function onKeyLepas(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT || event.keyCode == Keyboard.RIGHT)
{
vx = 0;
Player.gotoAndStop(1);
}
else if (event.keyCode == Keyboard.UP || event.keyCode == Keyboard.DOWN)
{
vy = 0;
Player.gotoAndStop(1);
}
else if (event.keyCode == Keyboard.SPACE)
{
Player.gotoAndStop(1);
serang=true;
}
}
function onEnterframe(event:Event):void
{
Player.x+=vx;
Player.y+=vy;
}
}
}
Copyright Gary Rosenzweig
