我們這組所做的期中作品為"阿寶上樓梯"
也就是所謂的小朋友上樓梯遊戲
這是遊戲剛開始的畫面 玩家要控制空白鍵 讓阿寶能夠跳躍
這是跳躍起來的樣子
之後越跳越高,一階一階往上跳
以下這是我們的程式碼:
int finnx=0,finny=500;
int dx=5,bgX=0,bgY=0,jump=0,woodx=0,woody=470;
PImage finn1,finn2,jump1,jump2,bg,bg2,wood,wood1,wood2,wood3;
int onboard=0;
//--------------------------------------------------------------//宣告所有程式所需要用的圖片
void setup(){
size(600,800);
finn1 = loadImage("Finn_right.png");
finn2 = loadImage("Finn_left.png");
jump1 = loadImage("jump_right.png");
jump2 = loadImage("jump_left.png");
bg = loadImage("sky.jpg");
bg2= loadImage("bg2.jpg");
wood = loadImage("wood.png");
wood1 = loadImage("wood.png");
wood2 = loadImage("wood.png");
wood3 = loadImage("wood.png");
}
//----------------------------------------------------------------
void draw(){
background (239,228,176);
image(bg2,0,bgY,600,800); //-------------------<初始背景>
//----------------------------------------------------------------<背景移動:背景會因為主角移動而延伸
if(bgY>0){
image(bg,0,bgY-800,600,800);
}
if(bgY-800>0){
image(bg,0,bgY-1600,600,800);
}
if(bgY-1600>0)bgY-=800;
//----------------------------------------------------------------->
//-----------------------------------------------------------------<宣告階梯
image(wood ,woodx+340,woody,350,100);
if ( finnx>woodx+340 && finnx<woodx+600 && finny <= 400){//如果主角在這個範圍內
finny = 360; //將會把主角的水平位置往上移
println("up");
onboard=1;
}else{
onboard=0;
}
image(wood1,woodx ,woody-100,350,100);
if ( finnx>woodx && finnx<woodx+350 && finny <= 200){
finny = 220;
println("up");
onboard=1;
}else{
onboard=0;
}
image(wood2,woodx+200,woody-250,350,100);
image(wood3,woodx+340,woody-400,350,100);
//-------------------------------<左右移動
if (finnx>500 || finnx<0) dx=-dx;//使主角會自動左右移動到兩邊盡頭時會轉身
finnx+=dx;
//------------------------------->
//-------------------------------<向右前進.跳耀
if(dx>0){
if(jump>0){
image(jump1,finnx,finny,100,150);
jump=jump-10;
finny-=10;
}
else image(finn1,finnx,finny,100,150);
if(finny<500 && onboard==0){
finny+=5;
}
}
//-------------------------------<向左前進.跳耀
else {
if(jump>0){
image(jump2,finnx,finny,100,150);
jump=jump-10;
finny-=10;
}
else image(finn2,finnx,finny,100,150);
if(finny<500 && onboard==0){
finny+=5;
}
}
/*if ( finnx>woodx+340 && finnx<woodx+600 && finny <= 400){
finny = 360;
println("up");
onboard=1;
}else{
onboard=0;
}*/
//------------------------------->
//-------------------------------<跳躍
}
void keyPressed() {
if (key==' '){
jump=300;
}
}
//------------------------------->\
目前還有些許的BUG
也就是無法上了第二階層後繼續跳躍
我們會繼續修改我們的程式 讓他更完整
沒有留言:
張貼留言