java使用箭头键移动圆,JavaFX:使用箭头键和空格键移动图像

I'm trying to make a little game like Space Invaders. I'm using JavaFX with Netbeans 6.9 and couldn't find an answer elsewhere, so I thought I'ld just ask here.

I have an image of a space ship, which I would like to move using my arrow keys. When I press spacebar it should shoot a missile. The missile can destroy a meteorite.

Here's my current code:

import javafx.stage.Stage;

import javafx.scene.Scene;

import javafx.scene.paint.Color;

import javafx.scene.image.ImageView;

import javafx.scene.image.Image;

import javafx.animation.Timeline;

import javafx.animation.Interpolator;

var x: Number;

Timeline {

repeatCount: Timeline.INDEFINITE

autoReverse: true

keyFrames: [

at (0s) {x => 500.0},

at (10s) {x => -100.0 tween Interpolator.LINEAR}

]

}.play();

Stage {

title: "Shoot"

scene: Scene {

fill: Color.BLACK

width: 800

height: 500

content: [

ImageView {

x: 500 y: 25

image: Image {

url: "{__DIR__}earth.jpg";

}

}

ImageView {

translateX: bind x

x: 150 y: 300

image: Image {

url: "{__DIR__}meteorite.png";

}

}

ImageView {

x: 400 y: 450

image: Image {

url: "{__DIR__}spaceship.png";

}

}

]

}

}

Thanks in advance.

解决方案

You have to add keyListener to your scene

private EventHandler keyListener = new EventHandler() {

@Override

public void handle(KeyEvent event) {

if(event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN ||

event.getCode() == KeyCode.RIGHT || event.getCode() == KeyCode.LEFT) {

//your code for moving the ship

}

else if(event.getCode() == KeyCode.SPACE) {

//your code for shooting the missile

}

event.consume();

}

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值