java常用語法--遊戲開發基礎
阿新 • • 發佈:2018-12-17
1 基礎語句
- 設定標題和視窗大小
GameCore.pause(2000);
GameCore.setGameTitle("我的第一個遊戲引擎");//更改標題
GameCore.setGameSize(300, 300);//設定大小
GameCore.pause(2000);//暫停
GameCore.setGameSize(500, 500);
GameCore.setGameTitle("切換標題");
GameCore.pause(2000);
- 設定視窗寬和高
public void run()
{
int h=GameCore.getGameHeight();//獲取高
int w=GameCore.getGameWidth();//獲取寬度
System.out.println("高是:"+h+"寬是"+w);
GameCore.pause(2000);
GameCore.setGameSize(300, 300);//重新設定寬、高
System.out.println("設定高是"+GameCore.getGameHeight()+"寬是"+GameCore.getGameWidth());
GameCore.pause(2000);
}
- 方法首字母小寫,之後每個單詞的首字母大寫 如:createText ;setTextPosition;
public void run ()
{
GameCore.createText(1, "美團網");//建立文字
GameCore.setTextPosition(1, 300, 300);//設定位置
GameCore.setTextFontSize(1, 30);//設定大小
do
{
GameCore.showText(1);
GameCore.pause(500);
GameCore.hideText(1);
GameCore.pause(500);
}while(true);
}
- 建立多個文字
public void run()
{
GameCore.createText(1, "美團網");//建立文字
GameCore.setTextPosition(1, 300, 300);//設定位置
GameCore.setTextFontSize(1, 30);//設定大小
GameCore.createText(2, "京東網");
GameCore.setTextColor(2, Color.BLUE);
GameCore.setTextPosition(2, 400, 400);
GameCore.pause(3000);
}
-建立圖片等操作
public void run()
{
//設定背景
GameCore.loadBgView("大片草地.png");
//建立圖片
GameCore.createImage(0, "落葉.jpg");
//設定圖片位置
GameCore.setImagePosition(0, 200, 200);
GameCore.pause(10000);
}
- 精靈操作
public void run()
{
//建立精靈
GameCore.createSprite(0, "mario");
//設定座標
GameCore.setSpritePosition(0, 100, 100);
//執行動作
GameCore.playSpriteAnimate(0, "walk");
GameCore.pause(2000);
//X軸翻轉
GameCore.setSpriteFlipX(0, true);
GameCore.pause(10000);
}
- 獲取按鍵 注意持續按鍵 獲取按鍵值 要寫在迴圈裡面。
public void run()
{
while(true)
{
//獲取按鍵數值
int i=GameCore.getPressedKeyCode();
// 進行比較
switch(i)
{
case KeyEvent.VK_UP:
case KeyEvent.VK_W:
System.out.println("上鍵 或者W鍵");
break;
case KeyEvent.VK_DOWN:
case KeyEvent.VK_S:
System.out.println("下鍵 或者S鍵");
break;
case KeyEvent.VK_LEFT:
case KeyEvent.VK_A:
System.out.println("左鍵 或者A鍵");
return; //左鍵退出程式
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_D:
System.out.println("右鍵 或者D鍵");
break;
default:
System.out.println("未知按鍵");
break;
}
}
}
- 一個網上常見的死迴圈小程式
public void run()
{
boolean b=GameCore.confirm("你喜歡我嗎?");
while(true)
{
if (b==false)
b=GameCore.confirm("你喜歡我嗎?");
else
return;
}
}
- 設定遊戲啟動畫面小程式
public void run()
{
//設定背景,建立文字
GameCore.loadBgView("大片草地.png");
GameCore.createText(0, "超級瑪麗");
String[] s= {"1 - 單人遊戲","2 - 多人遊戲","3 -遊戲演示"};
for (int i=1;i<=3;i++)
{
GameCore.createText(i, s[i-1]);
GameCore.setTextPosition(i, 300, 200+i*50);
GameCore.setTextColor(i, Color.white);
}
//設定細節
GameCore.setTextFontSize(0, 50);
GameCore.setTextColor(0, Color.YELLOW);
GameCore.setTextPosition(0, 300, 100);
GameCore.pause(10000);
}
- 實現呼吸字型
public void run()
{
int num=0;
GameCore.createText(num, "超級瑪麗");
int i=GameCore.getTextFontSize(num);
System.out.println(i);
GameCore.setTextPosition(num, 300, 300);
//死迴圈
for(;;)
{
//放大
for(int fontSize=30;fontSize<=50;fontSize++)
{
GameCore.setTextFontSize(0, fontSize);
GameCore.pause(200);
}
//縮小
for(int fontSize=50;fontSize>=30;fontSize--)
{
GameCore.setTextFontSize(0, fontSize);
GameCore.pause(200);
}
}
}
- 倒計時效果 方法1:比較笨拙,想複雜了,不可取
- 錯誤思想: 一個文字就行,無需重複建立。。
public void run()
{
for(int i=0,j=10;i<=10&& j>=0;i++,j-- )
{
GameCore.createText(i, Integer.toString(j));
GameCore.setTextPosition(i, 300, 300);
GameCore.pause(1000);
GameCore.hideText(i);
}
GameCore.pause(10000);
- 倒計時效果 方法2:ok
public void run()
{
int num=0;
GameCore.createText(num, "10");
GameCore.setTextPosition(num, 300, 300);
for(int i=10;i>=0;i-- )
{
GameCore.setText(num, Integer.toString(i));
GameCore.pause(1000);
}
GameCore.pause(10000);
}
- 實現彈幕效果
public void run()
{
String[] s= {"歸來仍是少年","加油努力","美團屏芯"};
//建立文字
for(int i=0;i<=s.length-1;i++)
{
GameCore.createText(i, s[i]);
GameCore.setTextPosition(i, 200+50*i, 200+50*i);
}
for(int i=0;i<=500;i++)
{
//左移動
GameCore.setTextPosition(0, GameCore.getTextX(0)-1, GameCore.getTextY(0));
//左移動
GameCore.setTextPosition(1, GameCore.getTextX(1)-1, GameCore.getTextY(1));
//向上移動
GameCore.setTextPosition(2, GameCore.getTextX(2), GameCore.getTextY(2)-1);
GameCore.pause(10);
}
GameCore.pause(10000);
}
- 實現汽車旋轉:用多張圖片輪番播放
public void run()
{
int num=0;
GameCore.createImage(num, "1.png");
for(int i=1;i<=36;i++)
{
String s=i+".png";
GameCore.setImageSource(num,s);
GameCore.pause(100);
//用if實現死迴圈
if(i==36)
i=1;
}
- 鍵盤控制精靈移動
- switch case後 無需要加{}
public void run() {
int num = 0;
GameCore.createSprite(num, "mario");
GameCore.playSpriteAnimate(num, "walk");
int x = 0;
int y = 0;
while (true) {
//持續鍵盤輸入
int key = GameCore.getPressedKeyCode();
switch (key) {
//左
case KeyEvent.VK_LEFT:
case KeyEvent.VK_A:
x--;
break;
//右
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_D:
GameCore.setSpriteFlipX(num, true);
x++;
break;
//上
case KeyEvent.VK_UP:
case KeyEvent.VK_W:
y--;
break;
//下
case KeyEvent.VK_DOWN:
case KeyEvent.VK_S:
y++;
break;
default:
break;
}
GameCore.setSpritePosition(num, x, y);
//移動速度暫停
GameCore.pause(10);
}
}