社区
J2ME
帖子详情
关于MIDP1.0 setClip()手动切图并实现帧动画的问题?
penxm315
2008-11-05 01:53:37
各位大虾帮帮忙,怎样用setClip()来切图,及实现帧动画,我是新手,不是很会用这个函数。
而且很多地方不明白,主要是逻辑上,比如怎样切图后,实现帧动画。让他实现一个动画。
大家帮帮忙,靠各位了,在线等~~
...全文
115
8
打赏
收藏
关于MIDP1.0 setClip()手动切图并实现帧动画的问题?
各位大虾帮帮忙,怎样用setClip()来切图,及实现帧动画,我是新手,不是很会用这个函数。 而且很多地方不明白,主要是逻辑上,比如怎样切图后,实现帧动画。让他实现一个动画。 大家帮帮忙,靠各位了,在线等~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
动画
结构.doc
游戏开发教程:
动画
篇 Table of Contents 1 Introduction 4 1.1 Purpose and Scope 4 1.2 Abbreviation 4 1.3 Reference 4 2 游戏开发教程:2D
动画
篇 4 2.1 概述 4 2.2 基本概念 5 2.2.1 Image 5 2.2.2 Module 6 ...
PDFsharp-MigraDocFoundation-1_50-新.rar
针对里面pdfsharp-gdi进行了部分修改,解决
set
clip
无效的
问题
;另外针对之前不支持文字加粗的
问题
,此版本也得到了解决;针对一直存在的不支持宋体的
问题
,是因为pdfsharp只支持.ttf格式的字体,下载.tffs格式的宋体...
【原创】新版发布 nge2 PSP新版类库
2 支持JPG,BMP(24,32位),PNG,TGA(24,32位)图片读取,并转化到上述显示模式。 3 支持HZK,GBK点阵字体,FreeType字体显示。 4 支持高效的图片缩放旋转,alpha混色效果。 5 多种显示函数,提供不同的性能。 6 ...
j2meshouji
public class WelcomForm extends Canvas implements CommandListener { Image img1; Command gocmd; Timer time=new Timer(); Font f;... f= Font.getFont(Font.FACE_SYSTEM,... g.
set
Clip
(0, y, Width, 5);
java 用2d美化JButtonDemo.rar
主要代码: @Override public void paint(Graphics g,... g2d.
set
Clip
(
clip
); g2d.
set
Paint(p1); g2d.drawRoundRect(0,0,w-1,h-1,20,20); g2d.
set
Paint(p2); g2d.drawRoundRect(1,1,w-3,h-3,18,18); }
J2ME
13,100
社区成员
26,495
社区内容
发帖
与我相关
我的任务
J2ME
Java J2ME
复制链接
扫一扫
分享
社区描述
Java J2ME
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章