📄 mycanvas.java
字号:
if(pt>10)
{
wait_time=65;
canvasIndex=12;
pt=0;
}
break;
}
if(pt>30)
pt=0;
break;
case 1:
break;
case 2:
g.setColor(0xffffff);//获得白色 wait_time score
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
g.setClip(GAME_W/2-70,GAME_H/2-70,150,wait_time);
g.drawImage(Logo2,GAME_W/2-64,GAME_H/2-80,0);
g.setColor(0x000000);
// g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN,Font.SIZE_LARGE));
// g.drawString("2007年11月 重庆校区出品",GAME_W/2-70,GAME_H/2+40,0);
if(wait_time>=145)
{
canvasIndex=5;
wait_time=0;
}
break;
case 5:
g.setClip(GAME_W/2-wait_time,GAME_H/2-wait_time,wait_time+wait_time,wait_time+wait_time);
// g.setColor(0xb4f654);//获得绿色 Title
g.setColor(0x000000);
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
// g.setColor(0xa171f5); //Logo_text
// g.fillRoundRect(7,7,GAME_W-13,GAME_H-15,30,30);
g.setColor(0xb4f654);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN,Font.SIZE_LARGE));
g.drawString("正在载入游戏……",30,30,0);
g.fillRoundRect(20,50,score,10,12,15);
g.drawString((100*score/(GAME_W/2+GAME_W/4))+"%",GAME_W/2-20,60,0);
g.setColor(0xffffff);//
g.drawRoundRect(19,49,GAME_W/2+GAME_W/4+1,11,12,15);
g.drawImage(Logo_text,GAME_W/2-90,GAME_H/2-60,0);
// g.drawString("游戏学院 重庆校区",GAME_W/2-62,GAME_H/2-40,0);
// g.drawString("指导教师:雷京臣",GAME_W/2-54,GAME_H/2-20,0);
// g.drawString("组长:郑毅",GAME_W/2-37,GAME_H/2,0);
// g.drawString("组员:郑毅 刘海峰 叶笑池",GAME_W/2-80,GAME_H/2+20,0);
// g.setColor(0xa41e31);//获得红色
// g.setColor(0xd901e6);
// g.drawString("友情协助:何为",GAME_W/2-54,GAME_H/2+40,0);
// g.drawLine(GAME_W/2,0,GAME_W/2,GAME_H);
if(pt>12)
{
canvasIndex=6;
wait_time=0;
score=0;
pt=0;
}
break;
case 6://////////////绘制游戏全景图
g.setClip(GAME_W/2-wait_time,0,wait_time+wait_time,GAME_H);
g.setColor(0xb4f654);//获得绿色
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
g.drawImage(map,GAME_W/2-120,GAME_H/2-130,0);
paintMenu(g);////////调用绘制菜单的方法
if(sound==0||sound==2)
{
try {/////////音乐开始播放
player001.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
// g.setColor(0x000654);//获得绿色
// g.fillRect(100,50,50,50);
break;
case 7:
g.setColor(0x000000);//获得黑色
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
g.setColor(0xa171f5);//
g.fillRoundRect(7,7,GAME_W-13,GAME_H-15,30,30);
g.setColor(0);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN,Font.SIZE_LARGE));
g.drawString("按“1”进入幸运转盘!",GAME_W/2-67,40,0);
g.drawString("按“2”进入舞蹈场地!",GAME_W/2-67,60,0);
break;
case 12://绘制~~~~~马戏团~~~~~~《〈〈〈游戏〉〉〉》界面
g.setColor(0x000000);//获得黑色
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
if(sound==0||sound==2)
{
try {/////////音乐开始播放
player200.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
g.drawImage(map21,origin,GAME_H-200,0);/////////////地图
g.drawImage(map21,origin+300,GAME_H-200,0);
paintLion(g);//////////////////狮子
painttalk(g);////////////////对话!!!!
if(talk_i<27)
{
g.setColor(0xffffff);
g.fillRoundRect(25,GAME_H/2-25,150,50,30,30);
g.setColor(0x0000ff);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("按“FIRE”键对话!",30,GAME_H/2-20,0);
}
else
{
switch(wait_time/15)
{
case 0:
//////////////// 绘制倒计时数字~~~~~~~~《3》
paintImage(Text,g,getWidth()/2-13,getHeight()/2-35,19,30,34,0,0);
break;
case 1:
//////////////// 绘制倒计时数字~~~~~~~~《2》
paintImage(Text,g,getWidth()/2-13,getHeight()/2-35,19,30,14,0,0);
break;
case 2:
//////////////// 绘制倒计时数字~~~~~~~~《1》
paintImage(Text,g,getWidth()/2-10,getHeight()/2-35,14,30,0,0,0);
break;
case 3:
//////////////// 绘制~~~~~~~《开始》
paintImage(Text,g,getWidth()/2-27,getHeight()/2-35,57,30,93,0,0);
break;
}
g.setColor(0xffff00);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("金币: "+70,5,5,0);
g.drawString("生命: "+r_Arrow,5,25,0);
g.drawString("积分: "+score,5,45,0);
g.setColor(0xff0000);
g.fillRoundRect(65,30,100,10,10,60);
g.setColor(0x00ff00);
g.fillRoundRect(65,30,r_Arrow,10,10,60);
}
break;
case 13://绘制~~~~~幸运小屋~~~~~~《〈〈〈游戏〉〉〉》界面
g.setColor(0x000000);//获得黑色
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
if(wait_time%2==0&&(sound==0||sound==2))
{
try {/////////音乐开始播放
player300.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
else //////////////按数字键"1"可以开关背景音乐(主开关在开启的时候有效)
{
try {/////////音乐停止播放
player300.stop();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
if(talk_i>16)
{
g.setColor(0xffff00);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("金币: "+70,10,10,0);
g.drawString("筹码: "+score,10,35,0);
}
paintWheel(g);
painttalk(g);
break;
case 14://绘制~~~~~~练舞场~~~~~~对话界面
g.setColor(0xffffff);//获得黑色
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
g.drawImage(map11,0,GAME_H,Graphics.BOTTOM|Graphics.LEFT);
g.setColor(255,255,255);
//绘制对话MM
paintImage(Npc,g,5,GAME_H-45,40,40,0,0,0);
//绘制练舞场NPC
paintImage(Npc,g,5,5,40,40,40,0,0);
painttalk(g);
g.setColor(0x000000);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("按“FIRE”键对话!",GAME_W/2-62,GAME_H/2-5,0);
break;
case 15://绘制~~~~~练舞场~~~~《〈〈〈游戏〉〉〉》界面
g.setColor(0x000000);//获得黑色
g.fillRect(0,0,this.getWidth(),this.getHeight());//清理全屏
g.drawImage(map11,0,GAME_H,Graphics.BOTTOM|Graphics.LEFT);
g.setColor(0xc02317);//获得黄色r_Arrow
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("金币: "+80,5,5,0);
g.drawString("积分: "+score,5,25,0);
g.drawString("速度: "+(score/500+1),5,45,0);
g.drawString("状态: 良好",5,65,0);
switch(wait_time/15)
{
case 0:
////////////////绘制倒计时数字~~~~~~~~《5》
paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,74,0,0);
break;
case 1:
////////////////绘制倒计时数字~~~~~~~~《4》
paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,54,0,0);
break;
case 2:
////////////////绘制倒计时数字~~~~~~~~《3》
paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,34,0,0);
break;
case 3:
////////////////绘制倒计时数字~~~~~~~~《2》
paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,14,0,0);
break;
case 4:
////////////////绘制倒计时数字~~~~~~~~《1》
paintImage(Text,g,getWidth()/2-10,getHeight()/2-25,14,30,0,0,0);
break;
case 5:
////////////////绘制~~~~~~~《开始》
paintImage(Text,g,getWidth()/2-27,getHeight()/2-25,57,30,93,0,0);
break;
}
if(wait_time/15>5&&(sound==0||sound==2))
{
try {/////////音乐开始播放
player100.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
paintRedArc(g);
paintDancer(g);//绘制跳舞MM
paintArrow(g);//绘制跳舞箭头
// g.drawString("频率: "+r_Arrow,5,45,0);
break;
case 16:
////////////////绘制~~~~~~~《暂停》
if(wait_time/15<6)
{
//canvasIndex15所有内容(switch(wait_time/15)内除外)
g.drawImage(map11,0,GAME_H,Graphics.BOTTOM|Graphics.LEFT);
paintDancer(g);//绘制跳舞MM
paintArrow(g);//绘制跳舞箭头
g.setColor(0xc0c0c0);//获得黄色r_Arrow
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("金币: "+80,5,5,0);
g.drawString("积分: "+score,5,25,0);
g.drawString("速度: "+(score/500+1),5,45,0);
g.drawString("状态: 良好",5,65,0);
}
paintImage(Text,g,getWidth()/2-27,getHeight()/2-25,56,30,150,0,0);
break;
case 18:
////////////////绘制《~~~~~游戏设置界面~~~~~》
paintSetup(g);
break;
case 19:
////////////////绘制《~~~~~游戏介绍界面~~~~~》
paintGameShow(g);
break;
case 20:
///////////////绘制《~~~~~宠物店游戏界面~~~~~》
g.setColor(0x000000);//获得黑色
g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
g.drawImage(Pet,GAME_W/2-64,GAME_H/2-75,0);
g.setColor(0x00ff00);//获得绿色
g.drawRect(GAME_W/2-65+wait_time,GAME_H/2-75+score,46,49);//绘制选筐
g.drawRect(GAME_W/2-64+wait_time,GAME_H/2-74+score,44,47);//绘制选筐
painttalk(g);
if(talk_i>29&&talk_i<34)
paintImage(Npc,g,GAME_W-43,5,35,40,150,0,0);
if(talk_i>27&&talk_i<34)
paintImage(Npc,g,5,GAME_H-43,40,40,0,0,0);
// g.drawRect(wait_time,score,46,49);//绘制选筐
// g.drawRect(wait_time+1,score+1,44,47);//绘制选筐
break;
case 21:
////////////////绘制《~~~~~★★练舞场★★~~~~游戏帮助~~~~~》
paintHelp_1(g);
break;
case 22:
////////////////绘制《~~~~~★★马戏团★★~~~~游戏帮助~~~~~》
paintHelp_2(g);
break;
case 23:
////////////////绘制《~~~~~★★幸运小屋★★~~~~游戏帮助~~~~~》
paintHelp_3(g);
break;
case 29:
////////////////绘制《~~~~~★★马戏团★★~~~~暂停界面~~~~~》
try {/////////音乐停止播放
player200.stop();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
paintImage(Text,g,getWidth()/2-27,getHeight()/2-25,56,30,150,0,0);
break;
case 30:
////////////////绘制《~~~~~★★马戏团★★~~~~死亡界面~~~~~》
g.setColor(0xff0000);
g.fillRoundRect(10,GAME_H/2-26,200,40,15,15);
g.setColor(0xffffff);
g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString("宠物严重受伤,不能继续比赛!",14,GAME_H/2-26,0);
g.drawString("按“FIRE”键从新开始!",14,GAME_H/2-8,0);
break;
}
g.setColor(0x00ff00);//获得绿色,绘制游戏屏幕边框paintHelp_3
g.drawRect(0,0,GAME_W-1,GAME_H-1);
}
/***********************************************************************************
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
********************************* 所有的更新 *************************************
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
************************************************************************************
*/
//////////////////////系统生成的更新方法
public void run()
{
while(true)
{
st=System.currentTimeMillis();//在每次更新前获得一个系统时间
////////////////////////////////////////////////////
//*********************更新开始********************//
////////////////////////////////////////////////////
switch(canvasIndex)//每个屏幕更新不同内容
{
case 0://///////////~~~~~~~~~~~~~屏幕切换时初始数据的等待界面
if(wait_time<GAME_W/2+GAME_W/4)//进度条的长度根据手机屏幕大小变化
wait_time+=4;////进度条的速度
else
pt++;////////进度条添满后的等待时间
break;
case 1:
break;
case 2:
if(wait_time<145)////控制显示的区域
wait_time+=3;////显示的速度
break;
case 5:
if(wait_time<GAME_H||wait_time<GAME_W)//当显示的区域小于手机屏幕的宽高时,就让它扩大+20
wait_time+=6;////显示的速度
else
{
if(score<GAME_W/2+GAME_W/4)//进度条的长度根据手机屏幕大小变化
score+=4;////进度条的速度
else
pt++;////////进度条添满后的等待时间
}
break;
case 6://///////////菜单界面
if(wait_time<GAME_H||wait_time<GAME_W)//当显示的区域小于手机屏幕的宽高时,就让它扩大
wait_time+=3;////显示的速度
pt++;//控制文字闪动
if(pt>32)
pt=0;
break;
case 12://///////////////////******<<<马戏团>>>*****游戏界面
if(wait_time<61&&talk_i>26)//游戏等待时间在小于91次更新时,每次自加1
wait_time++;//自身累加1
LXAJ();
jianchepengzhuang();
if(origin<-300)//////地图滚动300后
origin=0;//////从新开始
Fire_x+=3;/////////火焰闪动
if(Fire_x>30)////////限定数值
Fire_x=0;////////从新开始
if(talk_i>26&&wait_time>60)//在对话结束,程序更新90次以后,等待结束,游戏开始循环
{
zhuangtai();
site+=3;///////////火圈的移动
if(site>460)
site=0;
}
if(fettle_lion==4)
r_Arrow--;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -