关于MIDP1.0 setClip()手动切图并实现帧动画的问题?

penxm315 2008-11-05 01:53:37
各位大虾帮帮忙,怎样用setClip()来切图,及实现帧动画,我是新手,不是很会用这个函数。

而且很多地方不明白,主要是逻辑上,比如怎样切图后,实现帧动画。让他实现一个动画。

大家帮帮忙,靠各位了,在线等~~
...全文
91 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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,把每帧的切割方式,显示位置写出来。

其他的方法,就需要你写个绘制的方法,把绘制参数写到数组中,在绘制的时候根据帧数调用数组参数。
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
J2ME
创建于2007-09-28

1.3w+

社区成员

Java J2ME
申请成为版主
帖子事件
创建了帖子
2008-11-05 01:53
社区公告
暂无公告