目前当我让角色跳跃后,角色就象鬼一样 "飘"到顶点,再"飘"回到地上.这样感觉很不自然.
我想应该以以匀减速的可能更自然.但是这个算法不是很清楚.请教高人指点.
/**
* 松鼠跳跃
*/
private void setSkipState() {
/**
* 按下跳跃键时,判断的条件 .
*/
if(PublicVar.isSkip && this.isSkipState == false && this.isChipDown == false && PublicVar.isDown == false){ //isSkipState 判断是否处于跳跃状态 isChipDown 判断是否处于下落状态 isDown 判断下键是否按下
this.isSkipState = true; //将角色状态处于跳跃状态。
}
/**
* 角色跳跃状态,运动轨迹
*/
if (this.isSkipState){
if(this.state == PublicVar.RIGHT ){ //根据角色面对的方向,切换图片
squatImage = new Image[]{chipImage[0][6]}; //这段是图片切换不用管他
this.img = moveImageChange.imageChange(squatImage); //这段是图片切换不用管他
}else if (this.state == PublicVar.LEFT){ //根据角色面对的方向,切换图片
squatImage = new Image[]{chipImage[1][6]}; //这段是图片切换不用管他
this.img = moveImageChange.imageChange(squatImage); //这段是图片切换不用管他
}
this.skipCount++; //申明了一个skipCount计数器,不断在线程中做++,当小于32时就上升,大于32就将isChipDown 设置成true;
if (skipCount < 32){ //上升
this.y -=this.speed;
}else {
this.isChipDown = true; //isChipDown 定义角色下落的状态.默认为false.
}
}
/*松鼠下落*/
if (this.isChipDown){ //isChipDown为true;
this.y += this.speed;
}
}演示图
我想应该以以匀减速的可能更自然.但是这个算法不是很清楚.请教高人指点.
/**
* 松鼠跳跃
*/
private void setSkipState() {
/**
* 按下跳跃键时,判断的条件 .
*/
if(PublicVar.isSkip && this.isSkipState == false && this.isChipDown == false && PublicVar.isDown == false){ //isSkipState 判断是否处于跳跃状态 isChipDown 判断是否处于下落状态 isDown 判断下键是否按下
this.isSkipState = true; //将角色状态处于跳跃状态。
}
/**
* 角色跳跃状态,运动轨迹
*/
if (this.isSkipState){
if(this.state == PublicVar.RIGHT ){ //根据角色面对的方向,切换图片
squatImage = new Image[]{chipImage[0][6]}; //这段是图片切换不用管他
this.img = moveImageChange.imageChange(squatImage); //这段是图片切换不用管他
}else if (this.state == PublicVar.LEFT){ //根据角色面对的方向,切换图片
squatImage = new Image[]{chipImage[1][6]}; //这段是图片切换不用管他
this.img = moveImageChange.imageChange(squatImage); //这段是图片切换不用管他
}
this.skipCount++; //申明了一个skipCount计数器,不断在线程中做++,当小于32时就上升,大于32就将isChipDown 设置成true;
if (skipCount < 32){ //上升
this.y -=this.speed;
}else {
this.isChipDown = true; //isChipDown 定义角色下落的状态.默认为false.
}
}
/*松鼠下落*/
if (this.isChipDown){ //isChipDown为true;
this.y += this.speed;
}
}演示图
解决方案 »
- 伸展树:完整代码亲测可运行、但仅有一行看不懂 望前辈赐教=。=
- 关于JAVA调用打印机功能的问题
- 求使用JavaSwing实现桌面级用户权限管理解决方案或源代码,谢谢!
- swt 中怎么重写shell类中的最大化,最小化,关闭的方法,我想实现的是点窗口关闭时为窗口隐藏而不是关闭,
- substring 的菜鸟问题
- Map<String, String> 如果传进来int型可以接受吗
- 求教一个Java语言的im系统登录异常问题
- 各位师傅,我在用jbuilber是为什么光标老师在字符后呢?
- [讨论] 我看www.csdn.net。问题2:大家把大对象放在哪里?有感于满论坛的“怎么操作Blob”以及CSDN上面很多的404 Not Found
- 请问什么才能将程序转成*.jar
- java程序执行思路?请高手指导
- Socket发送字符数组的问题
y -= speed;