用户:
音律猫猫查看:1 回复:4 评论:1 创建时间:2024-08-06T13:19:33
这个猫站不支持java语言只有javascript...那我就在javascript上写了啊
注意我写的是java语言不是script,但是这上面没有,script应该也可以运行,但是这两个是有区别的啊!!!
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.*;
import java.lang.*;
public class GameTest{
public static int cameraX=0,cameraY=0;
public static double direction=0;
public static void main(String[] args){
class MyCanvas1 extends Canvas{
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D) g;
g2.fillOval(500,270,20,20);
g2.fillOval((int)(500+Math.round(((0-cameraX)*Math.cos(direction))-((0-cameraY)*Math.sin(direction)))),(int)(270+Math.round(((0-cameraX)*Math.sin(direction))+((0-cameraY)*Math.cos(direction)))),20,20);
//g2.fillOval(5-cameraX,5-cameraY,20,20);
}
}
try{
JFrame jframe1=new JFrame();
jframe1.setSize(1080,1080);
jframe1.setVisible(true);
Container container1 = jframe1.getContentPane();
container1.setBackground(Color.WHITE);
jframe1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyCanvas1 mycanvas1 = new MyCanvas1();
jframe1.add(mycanvas1);
jframe1.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent keyevent1){
if(keyevent1.getKeyCode()==KeyEvent.VK_W){
cameraX-=(int)(3*Math.sin(direction));
cameraY-=(int)(3*Math.cos(direction));
}
if(keyevent1.getKeyCode()==KeyEvent.VK_S){
cameraX-=(int)(-3*Math.sin(direction));
cameraY-=(int)(-3*Math.cos(direction));
}
if(keyevent1.getKeyCode()==KeyEvent.VK_D){
cameraX-=(int)(-3*Math.cos(direction));
cameraY-=(int)(3*Math.sin(direction));
}
if(keyevent1.getKeyCode()==KeyEvent.VK_A){
cameraX-=(int)(3*Math.cos(direction));
cameraY-=(int)(-3*Math.sin(direction));
}
if(keyevent1.getKeyCode()==KeyEvent.VK_RIGHT){
direction+=1;
}
if(keyevent1.getKeyCode()==KeyEvent.VK_LEFT){
direction-=1;
}
}
});
while(true){
Thread.sleep(100);
mycanvas1.repaint();
}
}catch(InterruptedException e1){
e1.printStackTrace();
}
}
}