`
wuhua
  • 浏览: 2123214 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

游戏中动画的基础

阅读更多
全文请看
游戏中动画的基础
这篇文章是纯粹的个人看法。
游戏的基础是动画,想来大家都知道。这几天公司的项目都忙完了。很是无聊,所以就上网找了些资源,并写两个动画的例子。在此贴出来,让大家把砖头砸我吧。^_^
j2me midp2.0有个game的包是用来设计有游戏用的。它提供了游戏设计的基础控件,比如双缓冲,精灵,图层控制器等基础设施,这些设施可以方便我们的设计,比如双缓冲可以让游戏执行流畅,精灵等,可以更好的控制角色。
说白了。动画的效果其实就是一幅幅图片按照指定的时间一幅幅的换图片而已。
好了。看代码吧。
java 代码
  1. package org.wuhua.game.timer;
  2. import java.util.Timer;
  3. import java.util.TimerTask;
  4. /**
  5. * 对Timer的包装
  6. * @author wuhua
  7. */
  8. public class TimerTaskManager {
  9. private Timer _timer;
  10. static TimerTaskManager instace;
  11. public static TimerTaskManager getInstace() {
  12. if (instace == null)
  13. instace = new TimerTaskManager();
  14. return instace;
  15. }
  16. public TimerTask add(Runnable runnable, long period) {
  17. TimerTask task = new RunnableTimerTask(runnable);
  18. long delay = period;
  19. getTimer().schedule(task, delay, period);
  20. return task;
  21. }
  22. void close() {
  23. if (_timer != null) {
  24. _timer.cancel();
  25. _timer = null;
  26. }
  27. }
  28. private Timer getTimer() {
  29. if (_timer == null)
  30. _timer = new Timer();
  31. return _timer;
  32. }
  33. static class RunnableTimerTask extends TimerTask {
  34. private Runnable _runnable;
  35. RunnableTimerTask(Runnable runnable) {
  36. _runnable = runnable;
  37. }
  38. public void run() {
  39. _runnable.run();
  40. }
  41. }
  42. }
java 代码
  1. package org.wuhua.game;
  2. import java.io.IOException;
  3. import java.util.TimerTask;
  4. import javax.microedition.lcdui.Canvas;
  5. import javax.microedition.lcdui.Graphics;
  6. import javax.microedition.lcdui.Image;
  7. import org.wuhua.game.timer.TimerTaskManager;
  8. /**
  9. * 动画的主类
  10. * @author wuhua
  11. */
  12. public class Game extends Canvas implements Runnable{
  13. private Image source;
  14. private Image action[] = new Image[10];
  15. private int bgcolor = 0x209C00;
  16. private TimerTask task;
  17. private static int next;
  18. Game(){
  19. try {
  20. source = Image.createImage("/action.png");
  21. } catch (IOException e) {
  22. e.printStackTrace();
  23. }
  24. //切割图片
  25. for(int i=0; i<5; i++){
  26. action[i] = Image.createImage(source, 96*i, 0, 96, 60, 0);
  27. }
  28. for(int j=5; j<10; j++){
  29. action[j] = Image.createImage(source, 96*(j-5), 102, 96, 80, 0);
  30. }
  31. //这个是用来执行动作的计时器。原理是要求经过0.2毫秒动一次
  32. task = TimerTaskManager.getInstace().add(this, 150);
  33. }
  34. protected void paint(Graphics g) {
  35. fillScreen(g);
  36. paintAction(g);
  37. }
  38. private void fillScreen(Graphics g) {
  39. g.setColor(0xFFFFFF);
  40. g.fillRect(0, 0, this.getWidth(), this.getHeight());
  41. }
  42. private void paintAction(Graphics g) {
  43. if(next == 10)
  44. next =0;
  45. //如果绘制的图片是出雷电的时候,让人物停留在那里。这样的效果会好点
  46. if(next>=5){
  47. g.drawImage(action[4], 10*4, 0, Graphics.LEFT|Graphics.TOP);
  48. }
  49. g.drawImage(action[next], 10*next, 0, Graphics.LEFT|Graphics.TOP);
  50. next++;
  51. }
  52. public void run() {
  53. repaint();
  54. }
  55. }
  • 大小: 6.7 KB
  • 大小: 182.3 KB
分享到:
评论
16 楼 wuhua 2006-12-01  
哈哈。我刚才也看了你的那个游戏,感觉不错。
15 楼 fins 2006-12-01  
在这里遇到喜欢游戏编程的不容易啊 呵呵
又搞游戏 又j2ee的人不多 加你做好友了  快通过啊 呵呵
14 楼 whycloud 2006-11-29  
我那个完成主体的是一个射箭的游戏,就实现了一个抛物飞行,一个计算环数
等有时间的时候整理一下发出来吧
13 楼 wuhua 2006-11-29  
whycloud 写道
wuhua 写道
哈哈。楼上的你自己实现过双缓冲码?
实现是不是先创建一个可绘制的Image,然后在上面做些事情啊。
对了。你有设计游戏码

是的,就是你说的那样
不过我自己没手动在J2ME上实现过,在J2SE上做过
游戏设计过两个都是3D方面的一个游戏主体完成了
另一个做到一半的时候硬盘坏掉了,弄的本来说好要把第二个弄完给mingjava做教程的,最后也没完成……
我以前也写过一个玛丽赛跑的游戏,那个游戏很弱智的。而起碰撞算法实现的不好。机会是没碰到就倒下了。
12 楼 whycloud 2006-11-29  
wuhua 写道
哈哈。楼上的你自己实现过双缓冲码?
实现是不是先创建一个可绘制的Image,然后在上面做些事情啊。
对了。你有设计游戏码

是的,就是你说的那样
不过我自己没手动在J2ME上实现过,在J2SE上做过
游戏设计过两个都是3D方面的一个游戏主体完成了
另一个做到一半的时候硬盘坏掉了,弄的本来说好要把第二个弄完给mingjava做教程的,最后也没完成……
11 楼 lordhong 2006-11-29  
基本上REPAINT()需要改变的GRAPHICS的部分.
去年做了几个业余的很弱智的游戏...MOTO V3上测试过... 在CSDN还被发在首页连接上... =.=# 爆汗...
10 楼 wuhua 2006-11-28  
哈哈。楼上的你自己实现过双缓冲码?
实现是不是先创建一个可绘制的Image,然后在上面做些事情啊。
对了。你有设计游戏码
9 楼 wuhua 2006-11-28  
哈哈。楼上的你自己实现过双缓冲码?
实现是不是先创建一个可绘制的Image,然后在上面做些事情啊。
对了。你有设计游戏码
8 楼 whycloud 2006-11-28  
wuhua 写道
whycloud 写道
忘记一点,在MIDP2中可以设置关于双缓冲的。但是在MIDP规范中并没有强制要求一定要设备支持,所以如果是MIDP2设置双缓冲的话,一定要判断设备是否支持


对了。兄台可以在这里加上一段关于怎么判断是否支持双缓冲码?

刚一问还真想了半天,现在想起来了
在midp2中Canvas有一个public boolean isDoubleBuffered()方法来判断该设备是否支持二重缓冲,如果不支持还是需要手动实现的
7 楼 wuhua 2006-11-28  
恩。好的。让大家也学习学习
6 楼 whycloud 2006-11-28  
恩,我回去找找,那个FoxDown的教程回头发到圈子里吧
不过那个一直就没找到作者
5 楼 半路出家 2006-11-28  
wuhua 写道
对啊。上面的例子我并没有用到game的包。
都是在Canvas中绘制的。
其实自己都可以实现双缓冲功能。只是看看有没有这个必要。
呵呵
4 楼 wuhua 2006-11-28  
whycloud 写道
忘记一点,在MIDP2中可以设置关于双缓冲的。但是在MIDP规范中并没有强制要求一定要设备支持,所以如果是MIDP2设置双缓冲的话,一定要判断设备是否支持


对了。兄台可以在这里加上一段关于怎么判断是否支持双缓冲码?
3 楼 wuhua 2006-11-28  
对啊。上面的例子我并没有用到game的包。
都是在Canvas中绘制的。
其实自己都可以实现双缓冲功能。只是看看有没有这个必要。
呵呵
2 楼 whycloud 2006-11-28  
忘记一点,在MIDP2中可以设置关于双缓冲的。但是在MIDP规范中并没有强制要求一定要设备支持,所以如果是MIDP2设置双缓冲的话,一定要判断设备是否支持
1 楼 whycloud 2006-11-28  
我怎么感觉这里面没有用到GAME包呢?
这效果我觉得有一个非常的好的教程代码
是那个foxdonw的教程,如果用GAME包的话那个
有一个做"撑过20秒"的教程也非常有帮助

相关推荐

    北京交通大学 901 软件工程 2020 年真题.pdf

    北京交通大学 901 软件工程 2020 年真题.pdf

    《基于YOLOv8的3D打印缺陷检测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    【2025最新Java面试宝典】 ElasticSearch面试题(31道含答案)

    【2025最新Java面试宝典】 ElasticSearch面试题(31道含答案)

    基于PySide6开发的Office文本批量替换工具

    基于PySide6开发的Office文本批量替换工具,可对办公文档进行脱敏处理。

    《基于YOLOv8的宠物行为分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    苏苏源码-springboot454-昆仑科技文献系统(编号:100011323).zip

    标题SpringBoot在昆仑科技文献系统中的应用研究AI更换标题第1章引言介绍SpringBoot框架在昆仑科技文献系统中的研究背景、意义、现状以及论文的方法和创新点。1.1研究背景与意义分析SpringBoot框架在文献系统领域的应用价值。1.2国内外研究现状综述SpringBoot框架在文献系统中的应用情况和发展趋势。1.3论文方法与创新点阐述本文采用的研究方法和创新点。第2章SpringBoot框架概述详细介绍SpringBoot框架的基本概念、核心特性和优势。2.1SpringBoot简介概述SpringBoot的定义、发展历程和基本特点。2.2核心组件与工作原理解释SpringBoot的核心组件及其工作原理。2.3SpringBoot的优势分析SpringBoot框架相比其他框架的优势。第3章昆仑科技文献系统分析对昆仑科技文献系统进行详细的需求分析和功能设计。3.1系统需求分析明确昆仑科技文献系统的功能需求和性能需求。3.2系统功能设计根据需求分析结果,设计昆仑科技文献系统的功能模块。3.3数据库设计设计满足系统需求的数据库结构。第4章SpringBoot在昆仑科技文献系统

    2024日本美妆市场洞察报告-大数跨境.pdf

    2024日本美妆市场洞察报告-大数跨境

    《基于YOLOv8的工厂安全巡检系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    金融数据整合_Jetpack_MVVM_投资参考_辅助决策A_1742860628.zip

    app开发

    数据库技术:MySQL安装、配置与安全管理指南

    内容概要:本文全面介绍了MySQL数据库系统的安装、配置、管理及优化。首先概述了MySQL的历史和发展,强调其开源、跨平台、高性能等特点。接下来详细讲解了在Windows和Linux平台上安装MySQL的具体步骤,包括下载安装包、配置服务和环境变量等。此外,还涵盖了MySQL的初始化配置,如设置root密码、创建数据库和调整配置文件。针对MySQL的安全性,讨论了用户权限管理、防火墙配置等方面。最后,探讨了性能优化的方法,包括调整性能参数、使用监控工具和优化查询等。 适合人群:数据库管理员、运维工程师、开发人员,尤其是那些希望深入了解MySQL安装、配置和优化的人群。 使用场景及目标:①帮助用户快速掌握MySQL的安装和配置流程;②指导用户进行有效的MySQL安全管理;③提供性能优化技巧,以提高数据库的响应速度和稳定性。 其他说明:本文不仅提供了理论知识,还附带了大量的实际操作示例,方便读者理解和实践。

    《基于YOLOv8的书法作品分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    基于springboot框架的大学生智能消费记账系统的设计与实现(完整Java源码+数据库sql文件+项目文档+Java项目编程实战+编程练手好项目).zip

    摘 要 I Abstract II 目 录 III 第一章 课题背景及研究内容 1 1.1 课题背景 1 1.2 开发目的和意义 1 1.3 论文研究内容 1 第二章 相关技术 3 2.1 B/S结构 3 2.2 MySQL数据库 3 第三章 系统分析 5 3.1可行性分析 5 3.1.1时间可行性 5 3.1.2 经济可行性 5 3.1.3 操作可行性 5 3.1.4 技术可行性 5 3.1.5 法律可行性 5 3.2系统流程分析 6 3.3系统功能需求分析 7 3.4 系统非功能需求分析 7 第四章 系统设计 9 4.1 总体功能 9 4.2 系统模块设计 9 4.3 数据库设计 10 4.3.1 数据库设计 10 4.3.2 数据库E-R 图 10 4.3.3 数据库表设计 11 第五章 系统实现 13 5.1 管理员功能模块的实现 13 5.1.1 用户列表 13 5.1.2 预算信息管理 13 5.1.3 预算类型管理 14 第六章 系统测试 15 6.1软件测试 15 6.2测试环境 16 6.3 测试用例 16 6.3.1 用户登录测试 16 6.4.2 添

    uniapp基础框架,可直接使用

    uniapp基础框架,可直接使用

    《基于YOLOv8的体育赞助监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    《基于YOLOv8的钢材表面裂纹检测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    电商技术_WordPress_UniApp_积分商城_微信小_1742855265.zip

    电商技术_WordPress_UniApp_积分商城_微信小_1742855265.zip

    2024年中国房地产市场展望报告-第一太平戴维斯.pdf

    2024年中国房地产市场展望报告-第一太平戴维斯

    一个在springboot项目部署在docker中的实例

    docker 一个在springboot项目部署在docker中的实例.

    《基于YOLOv8的篮球训练辅助系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    《基于YOLOv8的体育产品分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

Global site tag (gtag.js) - Google Analytics