社区
J2ME
帖子详情
关于MIDP1.0 setClip()手动切图并实现帧动画的问题?
penxm315
2008-11-05 01:53:37
各位大虾帮帮忙,怎样用setClip()来切图,及实现帧动画,我是新手,不是很会用这个函数。
而且很多地方不明白,主要是逻辑上,比如怎样切图后,实现帧动画。让他实现一个动画。
大家帮帮忙,靠各位了,在线等~~
...全文
122
8
打赏
收藏
关于MIDP1.0 setClip()手动切图并实现帧动画的问题?
各位大虾帮帮忙,怎样用setClip()来切图,及实现帧动画,我是新手,不是很会用这个函数。 而且很多地方不明白,主要是逻辑上,比如怎样切图后,实现帧动画。让他实现一个动画。 大家帮帮忙,靠各位了,在线等~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bolou2008
2008-11-08
打赏
举报
回复
public class Player extends Canvas
{
Image player;
int player_x = 0;;
int player_y = 0;
int player_w = 16; //每格人物图象的宽
int player_h = 32; //每格人物图象的高
int player_dir = 0; //0为下,1为向左,2为向右,3为向上
int playerFrameIndex;//当前的贞
int player_speed = 3;
public Player()
{
try
{
player = Image.createImage("/player.png");
}
catch (IOException e)
{
e.printStackTrace();
}
Thread t = new Thread();
t.start();
}
public void paint(Graphics g)
{
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setClip(player_x,player_y,player_w,player_h);
g.drawImage(player ,player_x - playerFrameIndex * player_w ,player_y - player_dir * player_h,20);
g.setClip(0,0,getWidth(),getHeight());
}
protected void keyPressed(int keyCode)
{
switch(keyCode)
{
case KeyMap.KEY_UP:
player_dir = 3;
updata();
player_y -= player_speed;
break;
case KeyMap.KEY_LEFT:
player_dir = 1;
updata();
player_x -= player_speed;
break;
case KeyMap.KEY_RIGHT:
player_dir = 2;
updata();
player_x += player_speed;
break;
case KeyMap.KEY_DOWN:
player_dir = 0;
updata();
player_y += player_speed;
break;
}
repaint();
}
void updata()
{
playerFrameIndex++;
playerFrameIndex %= 3;
}
}
LoginOut
2008-11-07
打赏
举报
回复
[Quote=引用 4 楼 KGBKGB8888 的回复:]
3楼说的不对,绘制动画的时候绝对不能用for循环。
只能定义全局变量去控制绘制帧数。因为如果用for的话,程序瞬间走完循环,根本就看不出动画的效果。
[/Quote]
没看清楚题目,我还以为是画地图呢
prince58
2008-11-06
打赏
举报
回复
查API
WTK22/index.html
自己查三,装了WTK都有说明的。
KGBKGB8888
2008-11-06
打赏
举报
回复
3楼说的不对,绘制动画的时候绝对不能用for循环。
只能定义全局变量去控制绘制帧数。因为如果用for的话,程序瞬间走完循环,根本就看不出动画的效果。
LoginOut
2008-11-06
打赏
举报
回复
[Quote=引用 1 楼 KGBKGB8888 的回复:]
其他的方法,就需要你写个绘制的方法,把绘制参数写到数组中,在绘制的时候根据帧数调用数组参数。
[/Quote]
定义一个二维数组,在用2个for循环
jlabel
2008-11-05
打赏
举报
回复
1楼说的对.
setClip()设置要绘制的区域大小然后就绘制
//绘制
KGBKGB8888
2008-11-05
打赏
举报
回复
有个最笨的方法,就是用switch-case,把每帧的切割方式,显示位置写出来。
其他的方法,就需要你写个绘制的方法,把绘制参数写到数组中,在绘制的时候根据帧数调用数组参数。
在移动设备上用J2ME
实现
动画
.pdf
#### 四、
动画
实现
步骤 ##### 1. 准备图片资源 - 使用图像处理软件(如Photoshop或Fireworks)创建一系列相同大小的图片作为
动画
帧
。 - 图片应保存为PNG格式,因为这是MIDP唯一支持的图片格式。 - 图片可以存储在...
关于j2me game双缓冲
实现
探讨
在
Midp1
.0的API中,虽然没有直接提供game包,但我们可以利用Canvas类来
实现
这一机制。 双缓冲的核心思想是在内存中创建一个“虚拟”屏幕,先在这个内存屏幕(即缓冲区)上完成所有图形的绘制,待整个画面绘制完毕后...
对一个运动对象的总结
在Java的J2ME或Lava游戏开发中,运动对象的
实现
通常是通过继承自特定类来完成的。这里我们看到一个`GameCanvas`抽象类,它扩展了`Canvas`类,`Canvas`是J2ME中用于图形绘制的基础类。`GameCanvas`定义了一个抽象方法...
C#
实现
图片合成经典源码__0525).rar
7. **混合模式和Alpha通道**:在C#中,可以利用Graphics对象的
Set
Clip
和DrawImage方法的参数来
实现
不同的混合模式,例如添加透明度(Alpha通道)以
实现
图像的叠加效果。 8. **性能优化**:对于大量图像处理,使用...
j2me半透明图片
实现
在J2ME(Java 2 Micro Edition)平台上,开发移动应用程序时,有时我们需要处理图片,包括显示、缩放以及
实现
半透明效果。本篇将详细解释如何在J2ME中
实现
半透明图片以及图片的缩放功能。 首先,让我们探讨如何
实现
...
J2ME
13,097
社区成员
26,492
社区内容
发帖
与我相关
我的任务
J2ME
Java J2ME
复制链接
扫一扫
分享
社区描述
Java J2ME
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章