Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javafx.animation.AnimationTimer;
- import javafx.application.Application;
- import javafx.event.EventHandler;
- import javafx.scene.Group;
- import javafx.scene.Scene;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.input.KeyCode;
- import javafx.scene.input.KeyEvent;
- import javafx.scene.paint.Color;
- import javafx.stage.Stage;
- import javafx.stage.StageStyle;
- import java.awt.Dimension;
- import java.awt.Toolkit;
- public class Constructor extends Application{
- Image player, shot;
- static Dimension screen = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());
- static int wid = screen.width;
- static int hei = screen.height;
- static boolean up, down, left, right, rotleft , rotright;
- static double x = (wid/2)-109;
- static double y = (hei/1.5)-132;
- static double velx = 0, vely = 0, velx2 = 0, vely2 = 0;
- static double forspeed = 0, sidespeed = 0;
- static int rotat = 0;
- public void load(){
- player = new Image("res/sprite.png");
- }
- @Override
- public void start(final Stage frame) throws Exception{
- load();
- frame.setTitle("DEFAULT");
- frame.initStyle(StageStyle.UNDECORATED);
- Group root = new Group();
- final ImageView ship = new ImageView();
- ship.setImage(player);
- root.getChildren().add(ship);
- frame.setScene(new Scene(root, wid, hei, Color.BLACK));
- frame.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>(){
- public void handle(KeyEvent key) {
- if(key.getCode()==KeyCode.W)
- up = true;
- if(key.getCode()==KeyCode.S)
- down = true;
- if(key.getCode()==KeyCode.Q)
- left = true;
- if(key.getCode()==KeyCode.E)
- right = true;
- if(key.getCode()==KeyCode.A)
- rotleft = true;
- if(key.getCode()==KeyCode.D)
- rotright = true;
- }
- });
- frame.addEventHandler(KeyEvent.KEY_RELEASED, new EventHandler<KeyEvent>(){
- public void handle(KeyEvent key) {
- if(key.getCode()==KeyCode.ESCAPE)
- {
- frame.close();
- System.exit(0);
- }
- if(key.getCode()==KeyCode.W)
- up = false;
- if(key.getCode()==KeyCode.S)
- down = false;
- if(key.getCode()==KeyCode.Q)
- left = false;
- if(key.getCode()==KeyCode.E)
- right = false;
- if(key.getCode()==KeyCode.A)
- rotleft = false;
- if(key.getCode()==KeyCode.D)
- rotright = false;
- }
- });
- frame.setAlwaysOnTop(true);
- frame.setHeight(hei);
- frame.setWidth(wid);
- frame.setResizable(false);
- frame.setFullScreen(true);
- frame.show();
- new AnimationTimer() {
- @Override
- public void handle(long now) {
- gameloop();
- ship.setTranslateX(x);
- ship.setTranslateY(y);
- ship.setRotate(rotat);
- }
- }.start();
- }
- public static void gameloop(){
- if(Shared.up)
- forspeed += 1;
- if(Shared.down)
- forspeed -= 1;
- if(Shared.right)
- sidespeed += 1;
- if(Shared.left)
- sidespeed -= 1;
- if(Shared.rotleft)
- rotat -=3;
- if(Shared.rotright)
- rotat +=3;
- velx = Math.cos(Math.toRadians(rotat-90))*forspeed + Math.cos(Math.toRadians(rotat))*sidespeed;
- vely = Math.sin(Math.toRadians(rotat-90))*forspeed + Math.sin(Math.toRadians(rotat))*sidespeed;
- if(!Shared.up && !Shared.down)
- {
- if(forspeed > 0)
- forspeed -= 0.2;
- else if (forspeed < 0)
- forspeed += 0.2;
- }
- if(!Shared.right && !Shared.left)
- {
- if(sidespeed > 0)
- sidespeed -= 0.2;
- else if (sidespeed < 0)
- sidespeed += 0.2;
- }
- x += velx;
- y += vely;
- screencolisions();
- }
- private static void screencolisions() {
- // LEFT RIGHT
- if(x < 0)
- {
- x = 0;
- sidespeed = 0;
- }
- else if (x+218 > Shared.wid)
- {
- x = Shared.wid-218;
- sidespeed = 0;
- }
- // UP DOWN
- if(y < 0)
- {
- y = 0;
- forspeed = 0;
- }
- else if (y+164 > Shared.hei)
- {
- y = Shared.hei-164;
- forspeed = 0;
- }
- }
- public static void main(String[] args){
- Application.launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement