当前位置: 首页 > news >正文

J2ME游戏 之 NORMAL-FRAME

作者:s0s 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=1000

今得 老鸟J2ME的代码,收益良多。写写大家分享。
总结几点:
1.类尽量的少,一般是2个到5个。一般就一个MIDlet,Canvas类,别的都是附属类。
2.舍弃包package 概念,都放在同一层结构下。
3.上移动梦网等运营商让用户使用的程序 都用midp1.0 + 各个专用API 。
4.手机上显示的文本信息单用一个类声明,为了以后跨手机移植对中文,英文的改动。
大多J2ME开发的有一部分是J2EE开发转化过来的,我也是:) 应该知道MVC模式的概念(M -- Model,V -- View,C -- Control),经过我对老鸟代码的分析感觉这个MVC 还可以继续使用。不过还要加写东西,为(M -- Model ,V -- View , C -- Control , O --Object , S --Sprite , T -- Tool )。
个模块完成的功能:
Model : run方法 。负责游戏内核运算的模块。
View : paint方法 与 界面描画 。负责绘制游戏所有的界面。
Control : commandAction方法 与 keyPressed,keyRepeated,keyReleased 方法 。 负责接收用户所有的操作。
Object : (解释为:对象)Menu,Item,Image,Sound,RMS,Connection 。负责包装所有以上的对象,用于其他地方程序的调用。
Sprite : (解释为:精灵)游戏对象类。比如飞机,子弹,地图,雷达,等等。前面说了要用计量少的类来实现程序,所以在此模块实现所有的对象。
Tool : (理解为:工具)随机数生成,三角函数处理 等等。
程序框架:
1.颜色: 定义游戏中基本颜色
2.锚点定义: 文字,图片帖入屏幕的位置
3.字体定义: 游戏中用到的字体
4.屏幕宽度: 为了移植性尽量用此函数画图
5.游戏方向定义:手机键盘布局不同,一般用此变量做统一管理
6.按纽定义:不同手机键值不同,用此变量做统一管理
7.按纽连法设置:不同手机连发操作功能有无不一。用此实现没有连发手机的连发实现
8.程序状态:游戏程序就用户来看就开始游戏的时候算是开始,可以我们的程序要从加载开始
9.内部游戏状态:游戏的状态表示
10.construct:
11.显示屏幕运行状态:
12.隐藏[屏幕运行状态:
13.程序初始化:
14.暂停运行状态:
15.停止运行状态:
16.run :
17.paint:
18.commandAction:
19.image: 图片管理
20.sound: 声音管理
21.item: 选项管理
22.command: 按纽管理
23.menu: 菜单管理
24.rms: 记录管理
25.connect: 文件传输管理
26.socket: 网络管理
27.CodeToObject: 2进制文件与图片声音转换
28.obj_init: 对象初始化 完成 构造函数的功能
29.obj_paint: 对象在屏幕上的实现方法。
30.obj_way: 方法。
31.function: 函数
---s0s
http://spaces.msn.com/members/shenyang365

相关文章:

  • 深入学习之git操作
  • 开发NokiaS40系列应用程序初级篇
  • 深入学习之重写call方法
  • 深入学习之this 方法1
  • 基于Nokia S40的猜数字游戏之一
  • 深入学习之继承图总结
  • 基于Nokia S40的猜数字游戏之二
  • 深入学习之 this 方法2
  • 应用Nokia UI API处理声音问题
  • 深入学习之css重点
  • Nokia UI学习范例FishTank研究
  • react 向事件处理程序传递参数
  • react 有状态组件 切换登陆和未登录状态以及UI展示
  • 整合SE J2ME SDK与eclipse开发环境
  • MP3在Sony Ericsson K700上的音响效果
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • MobX
  • mysql 5.6 原生Online DDL解析
  • mysql innodb 索引使用指南
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 今年的LC3大会没了?
  • 力扣(LeetCode)22
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 使用docker-compose进行多节点部署
  • 推荐一个React的管理后台框架
  • 微信开放平台全网发布【失败】的几点排查方法
  • 微信开源mars源码分析1—上层samples分析
  • 一天一个设计模式之JS实现——适配器模式
  • 走向全栈之MongoDB的使用
  • Hibernate主键生成策略及选择
  • Python 之网络式编程
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​TypeScript都不会用,也敢说会前端?
  • #pragma once与条件编译
  • (zt)最盛行的警世狂言(爆笑)
  • (二)正点原子I.MX6ULL u-boot移植
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (正则)提取页面里的img标签
  • ****Linux下Mysql的安装和配置
  • ***测试-HTTP方法
  • ./configure,make,make install的作用
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET单元测试
  • .net对接阿里云CSB服务
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • ?
  • @RestControllerAdvice异常统一处理类失效原因
  • [C/C++]数据结构 堆的详解
  • [C++核心编程](四):类和对象——封装
  • [Django开源学习 1]django-vue-admin
  • [GDMEC-无人机遥感研究小组]无人机遥感小组-000-数据集制备