📄 castlecanvas.java
字号:
else if((keyState&GAME_A_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_ORIGIN_JUMP);
}
break;
case RoleMan.LEFT_ORIGIN_JUMP : //向左原地跳跃
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_AIR_RELEASE);
}
else if((keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_AIR_CREESE);
}
if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
soma.changState(RoleMan.LEFT_JUMP);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
soma.changState(RoleMan.RIGHT_JUMP);
}
break;
case RoleMan.RIGHT_ORIGIN_JUMP ://向右原地跳跃
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_AIR_RELEASE);
}
else if((keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_AIR_CREESE);
}
if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
soma.changState(RoleMan.LEFT_JUMP);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
soma.changState(RoleMan.RIGHT_JUMP);
}
break;
case RoleMan.LEFT_JUMP: //向左跳
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_AIR_RELEASE);
}
else if((keyState&GAME_B_PRESSED)!=0)
{//TODO
soma.changState(RoleMan.LEFT_AIR_CREESE);
}
if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_JUMP);
soma.setDir(true);
soma.move();
}
else
{
}
break;
case RoleMan.RIGHT_JUMP ://向右跳
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_AIR_RELEASE);
}
else if((keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_AIR_CREESE);
}
if((keyState&LEFT_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_JUMP);
soma.setDir(false);
soma.move();
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
}
else
{
}
break;
case RoleMan.LEFT_START_DROP: //向左开始下落
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_AIR_RELEASE);
}
break;
case RoleMan.RIGHT_START_DROP ://向右开始下落
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_AIR_RELEASE);
}
break;
case RoleMan.LEFT_CONTINUANCE_DROP : //向左持续下落
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_AIR_RELEASE);
}
else if((keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_AIR_CREESE);
}
else if((keyState&DOWN_PRESSED)!=0)
{
}
else if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_CONTINUANCE_DROP);
soma.setDir(true);
soma.move();
}
else
{
}
break;
case RoleMan.RIGHT_CONTINUANCE_DROP ://向右继续下落
if((keyState&UP_PRESSED)!=0 && (keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_AIR_RELEASE);
}
else if((keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_AIR_CREESE);
}
if((keyState&LEFT_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_CONTINUANCE_DROP);
soma.setDir(false);
soma.move();
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
}
else
{
}
break;
case RoleMan.LEFT_FALL_GROUND : //向左落地
break;
case RoleMan.RIGHT_FALL_GROUND ://向右落地
break;
case RoleMan.LEFT_GROUND_LIGHTHIT: //向左地上受到轻击
soma.changWaitState(RoleMan.LEFT_STAND);
break;
case RoleMan.RIGHT_GROUND_LIGHTHIT ://向右地上受到轻击
soma.changWaitState(RoleMan.RIGHT_STAND);
break;
case RoleMan.LEFT_G_BACK_LIGHTHIT : //向左地上 背后 受到轻击
soma.changWaitState(RoleMan.LEFT_STAND);
break;
case RoleMan.RIGHT_G_BACK_LIGHTHIT://向右地上 背后 受到轻击
soma.changWaitState(RoleMan.RIGHT_STAND);
break;
case RoleMan.LEFT_GROUND_BANG://向左地上受到 重击
break;
case RoleMan.RIGHT_GROUND_BANG://向右地上受到 重击
break;
case RoleMan.LEFT_G_BACK_BANG : //向左地上 背后 受到 重击
break;
case RoleMan.RIGHT_G_BACK_BANG ://向右地上 背后 受到 重击
break;
case RoleMan.LEFT_AIR_HIT: //向左空中受到攻击
break;
case RoleMan.RIGHT_AIR_HIT ://向右空中受到攻击
break;
case RoleMan.LEFT_AIR_BACK_HIT : //向左空中 背后 受到攻击
break;
case RoleMan.RIGHT_AIR_BACK_HIT ://向右空中 背后 受到攻击
break;
case RoleMan.LEFT_DOWN_GROUND:
soma.changWaitState(RoleMan.LEFT_STAND);
break;
case RoleMan.RIGHT_DOWN_GROUND:
soma.changWaitState(RoleMan.RIGHT_STAND);
break;
case RoleMan.LEFT_COLG_JUMP : //向左跳遇到障碍
break;
case RoleMan.RIGHT_COLG_JUMP://向右跳遇到障碍
break;
case RoleMan.LEFT_TOP_COLG ://向左跳 上方遇到 障碍
break;
case RoleMan.RIGHT_TOP_COLG://向右跳 上方遇到 障碍
break;
case RoleMan.LEFT_AIR_RELEASE: //向左空中释放魔法
if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
soma.changWaitState(soma.lastState);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
soma.changWaitState(soma.lastState);
}
else
{
soma.changWaitState(soma.lastState);
}
break;
case RoleMan.RIGHT_AIR_RELEASE ://向右空中释放魔法
if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
soma.changWaitState(soma.lastState);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
soma.changWaitState(soma.lastState);
}
else
{
soma.changWaitState(soma.lastState);
}
break;
case RoleMan.LEFT_GROUND_RELEASE : //向左地面释放魔法
soma.changWaitState(RoleMan.LEFT_READY_RELEASE);
break;
case RoleMan.RIGHT_GROUND_RELEASE ://向右地面释放魔法
soma.changWaitState(RoleMan.RIGHT_READY_RELEASE);
break;
case RoleMan.LEFT_DUCK_BASE://向左 蹲下 拳头攻击基本模式
break;
case RoleMan.RIGHT_DUCK_BASE://向右 蹲下 拳头攻击基本模式
break;
case RoleMan.LEFT_DOWN_DUCK: //向左 地上 拳头攻击基本模式
break;
case RoleMan.RIGHT_DOWN_DUCK ://向右 地上 拳头攻击基本模式
break;
case RoleMan.LEFT_AIR_DUCK: //向左 空中 拳头攻击基本模式
break;
case RoleMan.RIGHT_AIR_DUCK ://向右 空中 拳头攻击基本模式
break;
case RoleMan.LEFT_CREESE_BASE : //向左 蹲下 短剑攻击基本模式
if((keyState&UP_PRESSED)!=0)
{
}
else if((keyState&DOWN_PRESSED)!=0)
{
soma.changWaitState(RoleMan.LEFT_WENT_DOWN,
(byte)(soma.getMaxFrame(RoleMan.LEFT_WENT_DOWN)-1));
}
else if((keyState&LEFT_PRESSED)!=0)
{
soma.changWaitState(RoleMan.LEFT_WALK);
}
else
{
soma.changWaitState(RoleMan.LEFT_WENT_DOWN,
(byte)(soma.getMaxFrame(RoleMan.LEFT_WENT_DOWN)-1));
}
break;
case RoleMan.RIGHT_CREESE_BASE ://向右 蹲下 短剑攻击基本模式
if((keyState&DOWN_PRESSED)!=0)
{
soma.changWaitState(RoleMan.RIGHT_WENT_DOWN,
(byte)(soma.getMaxFrame(RoleMan.RIGHT_WENT_DOWN)-1));
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.changWaitState(RoleMan.RIGHT_WALK);
}
else
{
soma.changWaitState(RoleMan.RIGHT_WENT_DOWN,
(byte)(soma.getMaxFrame(RoleMan.RIGHT_WENT_DOWN)-1));
}
break;
case RoleMan.LEFT_DOWN_CREESE: //向左 地上 短剑攻击基本模式
if((keyState&UP_PRESSED)!=0)
{
soma.changWaitState(RoleMan.LEFT_READY_RELEASE);
}
else if((keyState&DOWN_PRESSED)!=0)
{
soma.changWaitState(RoleMan.LEFT_WENT_DOWN);
}
else if((keyState&LEFT_PRESSED)!=0)
{
soma.changWaitState(RoleMan.LEFT_WALK);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.changWaitState(RoleMan.L_TO_R_FRO);
}
else
{
soma.changWaitState(RoleMan.LEFT_STAND);
}
break;
case RoleMan.RIGHT_DOWN_CREESE://向右 地上 短剑攻击基本模式
if((keyState&UP_PRESSED)!=0)
{
soma.changWaitState(RoleMan.RIGHT_READY_RELEASE);
}
else if((keyState&DOWN_PRESSED)!=0)
{
soma.changWaitState(RoleMan.RIGHT_WENT_DOWN);
}
else if((keyState&LEFT_PRESSED)!=0)
{
soma.changWaitState(RoleMan.R_TO_L_FRO);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.changWaitState(RoleMan.RIGHT_WALK);
}
else
{
soma.changWaitState(RoleMan.RIGHT_STAND);
}
break;
case RoleMan.LEFT_AIR_CREESE : //向左 空中 短剑攻击基本模式
if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
soma.changWaitState(soma.lastState);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
soma.changWaitState(soma.lastState);
}
else
{
soma.changWaitState(soma.lastState);
}
break;
case RoleMan.RIGHT_AIR_CREESE : //向右 空中 短剑攻击基本模式
if((keyState&LEFT_PRESSED)!=0)
{
soma.setDir(false);
soma.move();
soma.changWaitState(soma.lastState);
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.setDir(true);
soma.move();
soma.changWaitState(soma.lastState);
}
else
{
soma.changWaitState(soma.lastState);
}
break;
case RoleMan.LEFT_DEAD: //向左角色死亡
break;
case RoleMan.RIGHT_DEAD ://向右角色死亡
break;
case RoleMan.LEFT_WENT_DOWN : //向左蹲下
if((keyState&DOWN_PRESSED)!=0)
{
}
else if((keyState&LEFT_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_WALK);
}
else
{
soma.changState(RoleMan.LEFT_STAND);
}
if((keyState&RIGHT_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_WENT_DOWN);
}
else if((keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_CREESE_BASE);
}
break;
case RoleMan.RIGHT_WENT_DOWN ://向右蹲下
if((keyState&DOWN_PRESSED)!=0)
{
}
else if((keyState&RIGHT_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_WALK);
}
else
{
soma.changState(RoleMan.RIGHT_STAND);
}
if((keyState&LEFT_PRESSED)!=0)
{
soma.changState(RoleMan.LEFT_WENT_DOWN);
}
else if((keyState&GAME_B_PRESSED)!=0)
{
soma.changState(RoleMan.RIGHT_CREESE_BASE);
}
break;
case RoleMan.LEFT_WENTDOWN_HIT:
soma.changWaitState(RoleMan.LEFT_WENT_DOWN,
(byte)(soma.getMaxFrame(RoleMan.LEFT_WENT_DOWN)-1));
break;
case RoleMan.RIGHT_WENTDOWN_HIT:
soma.changWaitState(RoleMan.RIGHT_WENT_DOWN,
(byte)(soma.getMaxFrame(RoleMan.RIGHT_WENT_DOWN)-1));
break;
}
break;
}
}
public void start() //启动线程
{
Thread t1 = new Thread(this);
t1.start();
}
public void run()
{
while(true)
{
long beginTime = System.currentTimeMillis();
keyContrl();
repaint();
long endTime = System.currentTimeMillis();
if((endTime-beginTime)<50) //限帧
{
try {
Thread.sleep(50-(endTime-beginTime));
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
// System.out.println(rt.totalMemory());
if(rt.freeMemory()<1024000)
{
System.gc(); //回收资源
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -