📄 mycanvas.java
字号:
g.setColor(0xffffff);//获得白色
g.drawRoundRect(GAME_W-175,5,110,40,10,15);
g.drawString(talk[talk_i+talk_i+talk_i],GAME_W-173,6,0);
g.drawString(talk[talk_i+talk_i+talk_i+1],GAME_W-173,17,0);
g.drawString(talk[talk_i+talk_i+talk_i+2],GAME_W-173,29,0);
break;
}
}
else if(talk_i%2!=0)//********主角说话内容*********&&talk_i<17
{
g.setColor(0xd894f5);
g.fillArc(46,GAME_H-30,7,7,0,360);
g.fillArc(55,GAME_H-35,13,13,0,360);
g.setColor(0xffffff);
g.fillRoundRect(72,GAME_H-45,100,40,10,15);
// g.setColor(0x000000);
// g.drawRoundRect(72,GAME_H-45,99,39,10,15);
g.setColor(0xb400ef);
g.fillArc(46,GAME_H-30,7,7,0,360);
g.fillArc(55,GAME_H-35,13,13,0,360);
g.drawRoundRect(72,GAME_H-45,99,39,10,15);
g.drawString(talk[talk_i+talk_i+talk_i],76,GAME_H-46,0);
g.drawString(talk[talk_i+talk_i+talk_i+1],76,GAME_H-33,0);
g.drawString(talk[talk_i+talk_i+talk_i+2],76,GAME_H-20,0);
}
}
}
////////////////////////绘制所有跳舞箭头
public void paintArrow(Graphics g)
{
// 蓝色静态箭头
paintImage(Arrow,g,GAME_W-100,10,15,15,15,0,0);
paintImage(Arrow,g,GAME_W-76,10,15,15,60,0,0);
paintImage(Arrow,g,GAME_W-52,10,15,15,105,0,0);
paintImage(Arrow,g,GAME_W-28,10,15,15,150,0,0);
// 白色静态箭头
paintImage(Arrow,g,GAME_W-100,GAME_H-70,15,15,0+place_Arrow[0]*30,0,0);
paintImage(Arrow,g,GAME_W-76,GAME_H-70,15,15,45+place_Arrow[1]*30,0,0);
paintImage(Arrow,g,GAME_W-52,GAME_H-70,15,15,90+place_Arrow[2]*30,0,0);
paintImage(Arrow,g,GAME_W-28,GAME_H-70,15,15,135+place_Arrow[3]*30,0,0);
//蓝色动态箭头
for(int i=0;i<array_Arrow.length-1;i++)
{
if(array_Arrow[i][0]==1)
{
paintImage(Arrow,g,array_Arrow[i][1],array_Arrow[i][2],15,15,array_Arrow[19][array_Arrow[i][4]],0,0);
}
}
}
///////////////////绘制~~~~~~~在按键按错时出现的~~~~~~红圆
public void paintRedArc(Graphics g)
{
g.setColor(0xff0000);
for(int i=0;i<4;++i)
{
if(ArrowTemp[i]>0)
{
g.fillArc(GAME_W-105+24*i,GAME_H-74,23,23,0,360);
}
}
}
///////////////////绘制~~~~~~~*****马戏团*****的狮子~~~~~~
public void paintLion(Graphics g)
{
if(Fire_x<15)//火圈
{
paintImage(Fire01,g,430-site,GAME_H-80,12,20,30,20,0);//////会被狮子挡的块
}
else
{
paintImage(Fire01,g,430-site,GAME_H-80,12,20,60,20,0);//////会被狮子挡的块
}
//////////////绘制狮子
paintImage(Lion,g,40+array_lion[ps[pt]][4],GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2],array_lion[ps[pt]][3],array_lion[ps[pt]][0],array_lion[ps[pt]][1],0);
if(Fire_x<15)//火盆
{
paintImage(Fire01,g,origin+130,GAME_H-58,30,27,0,0,0);
paintImage(Fire01,g,origin+430,GAME_H-58,30,27,0,0,0);
}
else
{
paintImage(Fire01,g,origin+130,GAME_H-56,30,27,0,30,0);
paintImage(Fire01,g,origin+430,GAME_H-56,30,27,0,30,0);
}
if(Fire_x<15)//火圈
{
paintImage(Fire01,g,430-site,GAME_H-100,27,20,30,0,0);
paintImage(Fire01,g,442-site,GAME_H-80,12,20,43,20,0);
paintImage(Fire01,g,429-site,GAME_H-61,27,20,30,40,0);
}
else
{
paintImage(Fire01,g,430-site,GAME_H-100,27,20,60,0,0);
paintImage(Fire01,g,442-site,GAME_H-80,12,20,73,20,0);
paintImage(Fire01,g,429-site,GAME_H-61,27,20,60,40,0);
}
if(talk_i>17&&talk_a==true)
{
paintImage(Npc,g,GAME_W-43,5,35,40,120,0,0);
paintImage(Npc,g,5,GAME_H-43,40,40,0,0,0);
}
// g.setColor(0xff00ff);
// g.fillRect(433-site,GAME_H-63,25,20);
// g.fillRect(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2);
}
////////////////////////生成动态跳舞箭头
public void creatArrow()
{
for(int i=0;i<array_Arrow.length-1;i++)
{
if(array_Arrow[i][0]==0)
{
int s;//局部变量用来控制生成的箭头的x坐标及方向
s=Math.abs(r.nextInt())%4;//让s的值在0,1,2,3之间随机一个
array_Arrow[i][0]=1;//存在状态 0为不存在 1为存在
array_Arrow[i][1]=GAME_W-100+24*s;//x坐标
array_Arrow[i][2]=10;//y坐标
array_Arrow[i][3]=score/500+3;//箭头下落的速度与积分相关
array_Arrow[i][4]=s;//箭头的类型 有上 下 左 右四个方向
break;
}
}
}
////////////////////////更新****幸运转盘*****
public void nextWheel()
{
origin-=speed;
if(speed>0)
{
speed--;
if (speed==0)
{
origin=origin%360;
if (site==0&&origin>=-315&&origin<=-270
||site==15&&origin>=-360&&origin<=-315
||site==30&&origin>=-45&&origin<=0
||site==45&&origin>=-90&&origin<=-45
||site==60&&origin>=-135&&origin<=-90
||site==75&&origin>=-180&&origin<=-135
||site==90&&origin>=-225&&origin<=-180
||site==105&&origin>=-270&&origin<=-225)////////////当左边的颜色和右边的颜色一样
{
score+=100;
Fire_x=Math.abs(r.nextInt())%4+105;
if(sound==0||sound==1)
{
try {/////////音乐开始播放
player301.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}else{
Fire_x=Math.abs(r.nextInt())%8+109;
}
}
}
}
////////////////////////更新动态跳舞箭头
public void nextArrow()
{
space++;
if(space>=r_Arrow)
{
r_Arrow=Math.abs(r.nextInt())%(20-score/250)+(7-score/800);
creatArrow();
space=0;
}
for(int i=0;i<array_Arrow.length;i++)
{
if(array_Arrow[i][0]==1)
{
array_Arrow[i][2]+=array_Arrow[i][3];
if(array_Arrow[i][2]+7>GAME_H-70&&array_Arrow[i][2]<GAME_H-57)
{
switch(array_Arrow[i][4])
{
case 0:
if(UP==true)
{
array_Arrow[i][0]=0;
score+=5;
if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)
{
place_Arrow[0]=1;
score+=5;
if(sound==0||sound==1)
{
try {/////////音乐开始播放
player002.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
break;
case 1:
if(LEFT==true)//LEFT==true
{
array_Arrow[i][0]=0;
score+=5;
if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)
{
place_Arrow[1]=1;
score+=5;
if(sound==0||sound==1)
{
try {/////////音乐开始播放
player002.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
break;
case 2:
if(RIGHT==true)
{
array_Arrow[i][0]=0;
score+=5;
if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)
{
place_Arrow[2]=1;
score+=5;
if(sound==0||sound==1)
{
try {/////////音乐开始播放
player002.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
break;
case 3:
if(DOWN==true)
{
array_Arrow[i][0]=0;
score+=5;
if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)
{
place_Arrow[3]=1;
score+=5;
if(sound==0||sound==1)
{
try {/////////音乐开始播放
player002.start();
} catch (MediaException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
break;
}
}
if(array_Arrow[i][2]>GAME_H)
{
array_Arrow[i][0]=0;
if(score>0&&score<2200)
score-=5;
else if(score>0&&score<3600)
{
score-=10;
}
else
{
score-=15;
}
}
}
}
}
////////////////////////////////狮子的各种状态
public void zhuangtai()
{
switch(fettle_lion)
{
case 0://////////////普通状态
ps=new int[]{0,0,0,0};
pt++;/////////////动画侦切换
if(pt>=ps.length-1)/////////循环播放动画
{
pt=0;////////从第零张开始
}
y_lion+=speed;
speed++;
if(y_lion>=0)
{
y_lion=0;
speed=0;
// pt=0;
// fettle_lion=0;
}
break;
case 1:///////////////跳跃状态
ps=new int []{2,2,2,2,2,2,2,2,2};
pt++;/////////////动画侦切换
if(pt>=ps.length-1)/////////循环播放动画
{
pt=0;////////从第零张开始
}
y_lion+=speed;
speed++;
if(y_lion==0)
{
speed=0;
// pt=0;
fettle_lion=0;
}
break;
case 2://///////////向右跑
ps=new int []{1,1,1,1,2,2,2,2,2};
pt++;/////////////动画侦切换
if(pt>=ps.length-1)/////////循环播放动画
{
pt=0;////////从第零张开始
}
y_lion+=speed;
speed++;
if(y_lion>=0)
{
y_lion=0;
speed=0;
// pt=0;
// fettle_lion=0;
}
break;
case 3://////////////向左退
ps=new int []{1,1,1,1,1,1,0,0,0,0};
pt++;/////////////动画侦切换
if(pt>=ps.length-1)/////////循环播放动画
{
pt=0;////////从第零张开始
}
y_lion+=speed;
speed++;
if(y_lion>=0)
{
y_lion=0;
speed=0;
// pt=0;
// fettle_lion=0;
}
break;
case 4://////////////狮子的死亡
ps=new int []{3,3,3,3,3,3,3};
pt++;/////////////动画侦切换
if(pt>=ps.length-1)/////////循环播放动画
{
pt=0;////////从第零张开始
}
break;
}
}
//////////////////////////马戏团狮子碰撞的检测
public void jianchepengzhuang()
{
if( butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2,origin+138,GAME_H-60,25,23)
||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2,origin+438,GAME_H-60,25,23)
||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2,433-site,GAME_H-63,25,23))
{
fettle_lion=4;
Cursor=4;
if(r_Arrow<=0)
{
canvasIndex=30;
}
}
else if( butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],7,array_lion[ps[pt]][3]/2,origin+145,GAME_H-83,1,23)
||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],7,array_lion[ps[pt]][3]/2,origin+445,GAME_H-83,1,23)
||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],8,array_lion[ps[pt]][3]/2,440-site,GAME_H-86,1,23))
{
score+=10;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -