java常用语法--游戏开发基础

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);
	}

  1. 精灵操作
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);
	}
  1. 获取按键
    注意持续按键
    获取按键值 要写在循环里面。
	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;
   	
   	}	
   }
   	}
  1. 一个网上常见的死循环小程序
public void run()
	{
    boolean b=GameCore.confirm("你喜欢我吗?");
    while(true)
    {
    if (b==false)
    	b=GameCore.confirm("你喜欢我吗?");
    else
    	return;
    }
	}
  1. 设置游戏启动画面小程序
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);
	
	}
  1. 实现呼吸字体
	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. 倒计时效果 方法1:比较笨拙,想复杂了,不可取
  2. 错误思想: 一个文本就行,无需重复创建。。
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);
  1. 倒计时效果 方法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);
	
	}
  1. 实现弹幕效果
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);
	
	}
  1. 实现汽车旋转:用多张图片轮番播放
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;
		}
  • 键盘控制精灵移动
  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);

		}

	}

猜你喜欢

转载自blog.csdn.net/weixin_43251783/article/details/83339401