Sınıfta oyun yapıyorum ve bunu çözemiyorum. Karakterim her ne zaman kaybederse, oyun "tekrar dene" ekranına atlar. GotoAndPlay (1) düğmesine bastığımda, kod "Rakett.Rita.y - = 10;" yığınlar, nesnenin bir dahaki sefere iki kat daha hızlı hareket etmesini sağlar. MC'yi boşaltmayı denedim, başka bir çerçeve yerine başka bir sahne ve başka çeşitli şeyler yükleyin. İşe yaratamıyorum."if (upPressed) {object.y - = 10;}" - her ölümden sonra yığınlar
Ayrıca, her Enter'a bastığımda, nesneler için kullandığım aralar çöker. Enter tuşuna basmanın herhangi bir yolu var mı?
Teşekkürler!
var upPressed: Boolean = false;
var downPressed: Boolean = false;
var leftPressed: Boolean = false;
var rightPressed: Boolean = false;
RakettRita.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey_2);
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed_2);
stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed_2);
EKLENDİ^
function fl_MoveInDirectionOfKey_2(event: Event) {
if (upPressed) {
RakettRita.y -= 10;
RakettRita.rotation = -20;
}
if (downPressed) {
RakettRita.y += 10;
RakettRita.rotation = 40;
}
// if hit
if (trær.hitTestPoint(RakettRita.x, RakettRita.y, true)) {
// Go to losing-screen
gotoAndStop(215)
}
}
function fl_SetKeyPressed_2(event: KeyboardEvent): void {
switch (event.keyCode) {
case Keyboard.UP:
{
upPressed = true;
break;
}
case Keyboard.DOWN:
{
downPressed = true;
break;
}
}
}
function fl_UnsetKeyPressed_2(event: KeyboardEvent): void {
switch (event.keyCode) {
case Keyboard.UP:
{
upPressed = false;
break;
}
case Keyboard.DOWN:
{
downPressed = false;
break;
}
}
}
Bu mantıklı geliyor! Bunu nasıl yaptığımı biliyor musun? Bu benim ilk AS3 komutum. – Sellie
Etkinlik dinleyicilerini eklediğiniz gibi kaldırırsınız. Muhtemelen bir şey yaptınız: addEventListener (KeyboardEvent.MOUSE_DOWN, YourFunction). Yani removeEventListener (KeyboardEvent.MOUSE_DOWN, YourFunction) yapmalısınız. – Snukus
Bu kodu kazandığınız veya kaybedeceğiniz çerçevelere eklemeye çalıştım, ancak çalışmadı. Ayrıca kodun kalanını orjinal defterime ekledim. Neyi yanlış yaptım? Yardımın için çok teşekkürler! RakettRita.removeEventListener (Event.ENTER_FRAME, fl_MoveInDirectionOfKey_2); stage.removeEventListener (KeyboardEvent.KEY_DOWN, fl_SetKeyPressed_2); stage.removeEventListener (KeyboardEvent.KEY_UP, fl_UnsetKeyPressed_2); – Sellie