Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Simple game basics

28. Oktober 2011

Some basic functions for a simple 2D game.
<pre>//Joachim Hummel
//17.11.2011

int levelsizeX = 500;
int levelsizeY = 500;
int playerKeyCode = 0;
int playerposX = levelsizeX / 2;
int playerposY = levelsizeY / 2;
int playersizeX = 20;
int playersizeY = 20;
int playerstep = 1;
int playerrotation = 0;

void setup(){
frameRate(30);
size(levelsizeX,levelsizeY);
fill(0);
}

void draw(){
println(playerrotation);
background(255);
 text("You pressed Key "+keyCode+". "+"Now your player is positioned at:",10,30);
  text("X " + playerposX,10,50);
  text("Y " + playerposY,10,70);  

  pushMatrix();
translate(playerposX,playerposY);
rotate(radians(playerrotation));
rect(-playersizeX/2,-playersizeY/2,playersizeX,playersizeY);

  popMatrix();
  
  move();

}

void keyPressed()
{
  
  playerKeyCode = keyCode;
 
}

void move() {
 
  switch(keyCode)
  {
    case 37: //Left
    playerposX = playerposX-playerstep;
    playerrotation = -45;
    break;
    case 38: //Up
    playerposY = playerposY-playerstep;
    playerrotation = 0;
break;
    case 39: //Right
    playerposX = playerposX+playerstep;
    playerrotation = 45;
break;
    case 40://Down
    playerposY = playerposY+playerstep;
    playerrotation = 180;

  }
 
  
  if ((playerposX-playersizeX) < 0)
    {
      playerposX= 0+playersizeX;
      text("Stop!",10,90);
    }
  if ((playerposX) > width-playersizeX)
    {
      playerposX=width-playersizeX;
            text("Stop!",10,90);

    }
  if ((playerposY) < 0)
    {
      playerposY=0;
            text("Stop!",10,90);

    }
  if ((playerposY) > height-playersizeY)
    {
      playerposY=height-playersizeY;
            text("Stop!",10,90);

    }
  
}