"if (upPressed) {object.y -= 10;}" - 每次死亡后堆叠
"if (upPressed) {object.y -= 10;}" - stacks after each death
我正在 class 制作游戏,但我无法弄明白。
每当我的角色输了,游戏就会跳转到 "try again" 屏幕。当我按下按钮转到 gotoAndPlay(1) 时,代码 "Rakett.Rita.y -= 10;" 堆叠,使对象下一次移动速度加倍。
我试过卸载 MC,加载另一个场景而不是另一个帧,以及各种其他东西。我无法让它工作。
此外,每当我按下回车键时,用于对象的补间动画就会崩溃。有什么方法可以禁用回车键吗?
谢谢!
这是我的代码:
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);
已添加^
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;
}
}
}
当您进入重试屏幕时,您需要删除这些事件侦听器。否则下次运行此框架的代码时,它将添加一个侦听器的副本,并且一切都会发生两次。
我正在 class 制作游戏,但我无法弄明白。 每当我的角色输了,游戏就会跳转到 "try again" 屏幕。当我按下按钮转到 gotoAndPlay(1) 时,代码 "Rakett.Rita.y -= 10;" 堆叠,使对象下一次移动速度加倍。 我试过卸载 MC,加载另一个场景而不是另一个帧,以及各种其他东西。我无法让它工作。
此外,每当我按下回车键时,用于对象的补间动画就会崩溃。有什么方法可以禁用回车键吗?
谢谢! 这是我的代码:
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);
已添加^
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;
}
}
}
当您进入重试屏幕时,您需要删除这些事件侦听器。否则下次运行此框架的代码时,它将添加一个侦听器的副本,并且一切都会发生两次。