📄 sprite.java
字号:
class Sprite {
int LcX,LcY;//角色的位置
int SizeW,SizeH;//图片大小
int array[][];//迷宫数组
int indexI=2,indexJ=2;//角色在数组中的索引位置
// 初始角色状态
public Sprite(int x,int y,int w,int h,int[][] a)
{
LcX=x;
LcY=y;
SizeW=w;
SizeH=h;
array=a;
}
public boolean moveUp(boolean moveCharacter)//角色向上
{
if(isPassed(indexI,indexJ,'U'))//判断是否可向上移动
{
if(moveCharacter)
LcY-=SizeW;//移动角色Y坐标,其实不该减图片的宽,但是宽正好和地板的宽一样,所以用来代替
indexI--;//改变角色(纵向)索引位置
return true;
}
return false;
}
public boolean moveDown(boolean moveCharacter)
{
if(isPassed(indexI,indexJ,'D'))
{
if(moveCharacter)
LcY+=SizeW;
indexI++;
return true;
}
return false;
}
public boolean moveRight(boolean moveCharacter)
{
if(isPassed(indexI,indexJ,'R'))
{
if(moveCharacter)
LcX+=SizeW;
indexJ++;
return true;
}
return false;
}
public boolean moveLeft(boolean moveCharacter)
{
if(isPassed(indexI, indexJ,'L'))
{
if(moveCharacter)
LcX-=SizeW;
indexJ--;
return true;
}
return false;
}
//判断角色是否可以移动
public boolean isPassed(int i,int j,char d)
{
boolean canpass=false;
switch(d){
case 'U':if(array[i-1][j]==4){//上方元素值是否为4
canpass=true;
}
break;
case 'D':if(array[i+1][j]==4){//下方元素值是否为4
canpass=true;
}
break;
case 'L':if(array[i][j-1]==4){//左方元素值是否为4
canpass=true;
}
break;
case 'R':if(array[i][j+1]==4){//右方元素值是否为4
canpass=true;
}
break;
}
return canpass;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -