J2ME游戏开发技巧--一个MotoT720下的彩色游戏

使用BINCompiler转换游戏资源文件为二进制文件 文章来源:J2ME开发网我们可能想用于游戏开发的资源文件,例如图片,转换成二进制的文件并且可以在程序中使用。很多专业的游戏开发都采用了这样的处理。本文将介绍一种功能不算很强大,但是简单可用的工具:BINCompiler。通过具体的实例讲解如何BINCompiler转换游戏资源文件,并在MIDP应用中使用。        首先下载BINCompiler,解压后双击运行。BINCompiler的界面非 阅读详情

不久前我曾用J2ME开发了一个MotoT720下的彩色游戏—宝石方块(GridOne)。开发过程中积累了一些经验,现在写出来与大家分享。

  使用双缓冲避免屏幕闪烁

  双缓冲技术是编写J2ME游戏程序的关键技术之一。实际上,双缓冲技术是计算机动画的一项传统技术。造成屏幕闪烁的主要原因在于,画面在显示的同时,程序又在改变它,于是画面闪烁。解决办法就是在内存中开辟一片区域作为后台画面,程序对它更新,修改,完成后再显示它。这样被显示的图像永远是已经完全画好的图像,程序修改的将不是正在被显示的图像。当然还有其它方法可以解决屏幕闪烁问题,但使用双缓冲技术是一种值得推荐的解决方案。具体方法可参见如下代码:


public class BlocksCanvas extends Canvas implements Runnable
{
 Graphics bg;
 Image buf;
 public BlocksCanvas()
 {
  ......
  height = getHeight();
  width = getWidth();
  //按屏幕大小建立缓冲对象
  buf = Image.createImage(width, height);
  //将缓冲对象的Graphics附给bg
  bg = buf.getGraphics();
  ......
 }   
 public void run()
 {......
  for(i=0;i<ROWS;i++)
  {
   for(j=0;j<COLS;j++)
   {//画方块
    drawBlock(x,y);
   }
  }
  repaint();
 }
 private void drawBlock(int block_x, int block_y)
 {  
  //取得方块的坐标
  int x = getLeft(block_x);
  int y = getTop(block_y);
  //取得方块的颜色
  int c= board[block_x][block_y];  
  bg.drawImage(imgs[c], x, y, Graphics.TOP | Graphics.LEFT);
 }

 public void paint(Graphics g)
 {
  g.drawImage(buf, 0, 0, Graphics.TOP | Graphics.LEFT);
 }
}
 


  由上面代码可见,双缓冲思想体现在程序上就是要依次完成以下几步工作:

  1. 定义一个Graphics对象bg和一个Image对象buf,按屏幕大小建立一个缓冲对象附给buf,然后取得buf的Graphics对象附给bg。在这里,Graphics对象可以理解为缓冲的屏幕,Image对象则可当成缓冲屏幕上的图片。

  2. 在bg(缓冲屏幕)上用drawImage()和drawString等语句画图,相当于在缓冲屏幕上画图。

  3. 调用repaint()语句,它的功能是告知系统调用paint()来完成真实屏幕的显示。这里需要注意的是,paint()是一个系统调用语句,不能手工调用,只能通过paint()语句来调用。

  4. 在paint(Graphics g)函数里,将buf(缓冲屏幕上的图片)画到真实屏幕上。

  以上的步骤虽然看似繁琐,但是效果还是很不错的。如果想要在屏幕上显示什么东西,只管画在bg上,然后调用repaint()将其显示出来就可以了。

  编写自己的断点函数

 

  图1 断点测试

  在开发J2ME程序过程中,最困扰人的问题就是程序容易莫名其妙地死机。当使用JBuilder或者CodeWarrior设置断点功能来查找程序错误时,死机的概率就更大了。即使不死机,也会担心程序受到了意外的干扰,所以一般不推荐使用开发工具自带的断点功能。但有时候又需要一个功能来显示当前各变量的值,以便查错时做出正确的判断。于是我想了一个办法,就是编写自己的断点函数。具体代码如下:


public class BlocksCanvas extends Canvas implements Runnable
{
 private boolean stopFlag=false;//调试标志
 ......
 public void run()
 {
  //断点位置1
  testFun(“x:”+x+“y:”+y);
  ......
  //断点位置2
  testFun(“”);
  ......
 }
 private void testFun(String str)
 { 
  stopFlag=true;
  //画一个白色长方形
  bg.setGrayScale(255);
  bg.fillRect(0,0, fontW, fontH);
  //在白色长方形上显示str的内容
  bg.setGrayScale(0);
  bg.drawString(str, 0,0, Graphics.TOP | Graphics.LEFT);
  repaint();
        
  while(stopFlag){}
 }

 public void keyPressed(int keyCode)
 {  
  stopFlag=false;
 }
}
 


  首先定义一个boolean类型的stopFlag变量来记录调试标志。一开始它的值为false,进入testFun()函数后,值设为true。显示完str的内容后,因为stopFlag的值为true,所以while语句进入了死循环,程序停了下来。这时可以仔细地看清楚变量的值。然后当按下任意键时,keyPressed()函数捕捉到这一事件,将stopFlag设为false,死循环自动解开。使用此方法非常方便,只要在需要断点的地方放置testFun()语句即可,一个程序可以放置多个testFun()语句,在循环语句中也可以放置testFun()语句。程序运行到testFun()语句会自动停下显示变量值,按任意键程序又会自动运行,程序也不会受到意外的干扰。图1是调试时的截图。

  还有一点需要说明,此方法的testFun()语句必须放在run()函数中或者run()函数运行时调用的函数中,否则就会因为while()占用了所有CPU时间而导致keyPressed()函数无法捕捉按键事件,最后导致死机。

  此方法只要稍加修改,就可以用做游戏的暂停功能,而且比sleep()方法好,毕竟理论上sleep()方法不能无限期暂停下去。下面给出相应的代码:


public class BlocksCanvas extends Canvas implements Runnable
{
 private boolean stopFlag=false;//暂停标志
 ......
 public void run()
 {......
  testFun();
  ......
 }
 
 private void testFun()
 { 
  while(stopFlag){}
 }

 public void keyPressed(int keyCode)
 {      
  int action = getGameAction(keyCode);
  if(action== FIRE)stopFlag=!stopFlag;
 }
}
 


  该程序段的功能为,当使用者按下FIRE键时,游戏暂停;再次按下FIRE键,游戏继续运行。

  编写自己的工具类

  因为手机内存和功能的限制,J2ME只提供了部分的J2SE工具类供使用者调用。所以有时我们不得不编写自己的工具类来实现一些特殊的功能。下面给出的kSet类就类似于J2SE中Set工具类的功能。它用来记录游戏中被删去的方块集合,同时保证集合中没有相同元素。


/**
*<p>Description: Set类在J2ME上的实现</p>
*<p>Date:2003.2.28</p>
*<p>Author:TomJava</p>
*<p>email:tomjava@sohu.com</p>
*/

public class kSet
{//用单链表实现
 private kSetNode head;

 public kSet()
 {
  head=null;
 }
 //将kSet清空
 public void clear()
 {
  head=null;
 }
 //向kSet中添加元素                   
 public boolean add(int x,int y)
 {
  kSetNode node=new kSetNode(x,y);
  return add(node);
 }
 //向kSet中添加元素
 public boolean add(kSetNode node)
 {
  if(!contains(node))
  { 
   node.next=head;
   head=node;
   return true;
  }else
  {
   return false;
  }
 }
 //判断kSet是否为空
 public boolean isEmpty()
 {
  if(head==null)
   return true;
  else
   return false;
 }
 //摘下链表头元素并返回此元素
 public kSetNode getFirst()
 { 
  kSetNode p=head;
  head=p.next;
  return p;
 }
 //遍历kSet,如果有相同元素返回true,否则返回false   
 public boolean contains(kSetNode node)
 {
  kSetNode p = head;
  while (p != null) {
   if(p.equals(node))return true;
   p=p.next;  
  }
  return false;
 }
}
//kSet中的元素
public class kSetNode
{
 public int x,y;
 public kSetNode next;
 
 public kSetNode(int x,int y)
 {
  this.x=x;
  this.y=y;
  next=null;
 }
     
 public boolean equals(kSetNode node)
 {
  if(node.x==x&&node.y==y)
   return true;
  else
   return false;
 }
 
 public int getX()
 {
  return x;
 }
      
 public int getY()
 {
  return y;
 }
}
 


  kSetNode类负责记录被删除方块的坐标,它重载equals()方法用来判断两个方块是否是同一个方块。kSet类是由kSetNode对象组成的没有相同元素的集合,用单链表实现,并且提供了 getFirst()、add()、clear()、isEmpty()、contains()等方法供其它类调用。编写和使用一些这样的工具类,将大大加快编程的速度,也使程序变得更加清晰。

  矫正屏幕坐标

  GridOne这个游戏是专门为MotoT720开发的,也就是说游戏背景图片大小和MotoT720型手机的大小是相等的。如果它在那些屏幕比MotoT720大的手机上运行,游戏背景图片会显示在屏幕左上角而影响美观,这时就要用到屏幕矫正技术,使得游戏背景图片居中显示。矫正屏幕坐标代码如下:


public class BlocksCanvas extends Canvas implements Runnable
{
 private  final int addX;//坐标矫正
 private  final int addY;
 private  final int SCREEN_X;//屏幕顶点
 private  final int SCREEN_Y;
 private  final int WAITBLOCK_X;//等待方块顶点
 private  final int WAITBLOCK_Y;
 private  final int SCORES_X;//分数顶点
 private  final int SCORES_Y;
 private  final int STAR_X;//五角星的顶点
 private  final int STAR_Y;

 public BlocksCanvas()
 {
  //取得当前手机屏幕的高度和宽度
  height = getHeight();
  width = getWidth();

  //坐标矫正量 
  addX = (width-120)/2;
  addY = (height-142)/2;

  //初始化屏幕参数
  SCREEN_X = addX + 48;//屏幕顶点
  SCREEN_Y = addY + 10;
  WAITBLOCK_X = addX + 19;//等待方块顶点
  WAITBLOCK_Y = addY + 103;
  SCORES_X = addX + 36;//分数顶点
  SCORES_Y = addY + 34;
  STAR_X=addX+4;//五角星的顶点
  STAR_Y=addY+70;      
 }
}
 


  首先把所有有关屏幕的参数都定义成private final int型变量。这里之所以加上final 修饰符,是因为不希望变量附初值后,它们的值会发生变化;之所以不加static修饰符,是因为要在其函数中初始化变量,而不是在定义时就初始化好了。先用getHeight()和getWidth()函数取得当前手机屏幕的高度和宽度,再计算出需要的偏移量addX和addY,然后加到各屏幕参数上,这样游戏内容就会居中显示了。图2与图3是效果比较图。

 

  图2 矫正前

 

  图3 矫正后

  还有一点需要注意,用getHeight()取得的并不是手机屏幕的真实高度,而是手机屏幕的高度减去Command标签高度,因为屏幕需要留出地方显示Command标签。

  合理使用内存

  本来使用Java编程是不需要关心内存使用的,因为Java有它引以为豪的垃圾处理机制。但到了J2ME里,情况发生了变化,因为手机的内存只有屈指可数的几百K,再也不能像在J2SE里那样大手大脚了。否则就会发现,即使程序没有任何语法和逻辑错误,也不能在模拟器中运行。下面给出合理使用内存的几个建议:

  1. 尽可能使用本地变量代替类成员,减少对象的创建,最好能重新利用对象;

  2. 不要试图在初始化的时候把所有Form或者Canvas对象都读入内存中,而应该在需要的时候再创建,虽然这样在显示上会有一些延迟,但是总比程序不能运行或者内存溢出要好;

  3. 一旦对象不需要使用就及时将其置为null,以便能够被垃圾处理器回收,适当的时候调用System.gc()语句提示虚拟机调用垃圾处理器;

  4.必须记住Java的内存管理是有向边机制,所以对于不使用的对象,千万不要让正在使用的对象指向它,以免内存得不到回收;

  5.尽量使图片占有的字节数小一点,可以使用Fireworks在保证图片质量同时减小图片的大小;

  即使做到上面几点,也不能保证程序不会发生内存泄漏,因为手机内存毕竟那么少。所以我提出最后一个建议,就是先完成游戏的主体部分,使它能够正常运行并没有内存泄漏,再慢慢扩展游戏,给它加上封面和其它功能。一旦发现内存不足,再去掉部分功能。

  使游戏更有魅力

  编写游戏当然希望它能吸引人,我觉得下面几个地方值得大家注意:

  1. 注意控制游戏的节奏

  原来我在削除方块的时候,什么都不做就直接删除,然后开始一个新的循环,让等待的方块往下掉。在实际运行的时候感觉效果不是很好,因为削得越快,上面的方块也掉得越快,让游戏者有一种措手不及的感觉。后来我在删除方块的时候,用空循环停顿了几秒钟,这样就给了游戏者一个反应时间,感觉就好些了,而且如果连削的话,反应时间会更长,这样使得游戏者在玩游戏时有一种轻松的感觉。再后来,我将空循环改成对屏幕上的方块遍历三次,让被删的方块闪烁,使得游戏者能够看清楚被删除的方块,欣赏到自己的成果,这样又增加了游戏的吸引力。

  2. 利用图片实现丰富多彩的表达效果

  在J2ME中如果不能控制文字的大小和字体,那么这将使游戏的效果大打折扣。不过,可以通过把各种特殊的文字做成图片的方法来解决这个问题。有些地方我们也可以用图片来取代文字,使得游戏更加生动,比如在等级栏用五角星来表示游戏的难度。使用图片还有一个好处就是增加游戏的通用性,使得游戏在不同手机上的显示基本相同。另外,如果出现字体颜色在模拟器中显示正常,而在手机上显示不正常的情况,也可以用这种方式解决。

  3. 让游戏能够自动调整难度

  我使用如下函数,使得游戏难度不断加大。


private void giveLevel()
{
 if(level<=10)
 { 
  levelSleep=600-(level - 1) * 50;
  if(levelSleep<200)
   levelSleep=200;
  levelDelTask=200+(level-1)*100;
  if(levelDelTask>1000)
   levelDelTask=1000;
  //画等级--五角星
  paintStar();
 }else
 {
  gameWin();
 }
}
 


  level表示游戏等级,levelSleep表示方块下落一个的等待时间,levelDelTask表示过一关需要删除的方块数,也可以理解为过一关需要完成的任务。上面的计算公式可以保证游戏会越来越难,增加了游戏的吸引力。

 

用于j2me游戏的png打包bin文件、读取代码 用于j2me游戏的png打包bin文件、读取代码。包含两部分,一个打包工具一个读取代码。 立即下载

相关推荐

j2me游戏素材(图片合集)

j2me游戏素材

摩托罗拉v3的java游戏_那里有支持摩托罗拉V3的Java游戏?

2012-07-10最好是网站,多一点的那种。1。《后宫 甄?执犯鋈司醯檬枪沸∷档木洹R欢ㄒ矗。?2。《清宫-宛妃传》不是很出名的一本书,但是真的写的很好,越看越好看的那种。3。《九重凤阙》前面是后宫,后面也有江山的争夺,很大气。4。《帝后》(有点黄)如果说上面的几本书我是很推荐的话,那么这本我简直是吐血推荐了,完美,太美了。5。《满朝文武爱上我》 1。《后宫 甄?执房上Щ姑挥型杲幔还...

weixin_39953618的博客 1254

特征提取 csp matlab代码

CSP 用于处理EEG信号数据 特征提取算法

J2ME游戏开发技巧

不久前我曾用J2ME开发了一个MotoT720下的彩色游戏—宝石方块(GridOne)。开发过程中积累了一些经验,现在写出来与大家分享。   使用双缓冲避免屏幕闪烁   双缓冲技术是编写J2ME游戏程序的关键技术之一。实际上,双缓冲技术是计算机动画的一项传统技术。造成屏幕闪烁的主要原因在于,画面在显示的同时,程序又在改变它,于是画面闪烁。解决办法就是在内存中开辟一片区域作为后台画面,程

1146

j2me游戏开发 经典教程

j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发j2me游戏开发

别再卡在Google验证了!用Header Editor插件5分钟搞定TryHackMe注册(附最新.json规则)

本文提供了使用Header Editor插件快速解决TryHackMe注册时Google验证失败问题的详细指南。通过导入特定的JSON规则文件,用户可以轻松绕过网络限制,5分钟内完成账号注册,无需复杂设置。文章包含完整的配置步骤、常见问题解决方案以及安全使用建议。

weixin_30736301的博客 462

DoJa平台手机游戏的开发与移植

作者:关文柏 时间:2006年6月13日   关键字:DoJa NTT DoCoMo i-mode i-appli     内容概况:   ·DoJa技术简介 ·DoJaAPI预览 ·appli程序的开发 ·DoJa游戏移植到J2ME平台的方法 ·相关资源链接     一,DoJa技术简介        简单的说,DoJa是日本最大的移动通讯公司NTT DoCoMo的专利技术。而i-mode是该...

java2000.net 261

MPN – 制造商物料编号(延伸)

此外,用户还可以在物料主数据中定义阻止MPN材料的原因,以及在采购订单创建时,是否可以将现有的MPN材料修改为其他MPN材料,从而实现对MPN材料的精细控制和管理。通过使用AMPL,用户可以指定每个MPN材料是否仅能为特定工厂或整个企业所有工厂采购、采购的时间段、是否必须属于特定修订级别、是否只能从特定制造商工厂采购以及是否被阻止及其原因。通过AMPL管理,企业可以规范采购流程,避免使用未经批准的材料,从而提高采购的透明度和效率,同时也为质量控制提供了保障‌。3、QM中的制造商物料。质量信息记录QI01。

yanzibing99的博客 2484

J2ME游戏中的图片处理

J2ME游戏中的图片处理说明:此文仅发表在J2ME开发网和我的blog上(blog.youkuaiyun.com/n5),转载必须经过本人同意(Email: mobiledev@163.com )。         图片资源乃是游戏的外衣,直接影响一个游戏是否看上去很美。在J2ME游戏开发中,由于受到容量和内存的两重限制,图片使用受到极大的限制。在这种环境中,处理好图片的使用问题就显得更加重要。 本文从容量和

聚焦游戏和图形引擎开发技术 2836

STM32寄存器级电机驱动:DRV8833 H桥与PWM调速原理

电机驱动是嵌入式控制系统的核心基础能力,其本质是微控制器通过数字信号精确控制功率器件的开关时序。理解H桥电路结构、反电动势防护机制及PWM调制原理,是实现可靠直流电机控制的前提。DRV8833作为典型双H桥驱动芯片,支持快衰减与慢衰减两种PWM调速模式,分别对应不同的电流泄放路径与动态响应特性。在STM32平台上,需结合时钟树配置、GPIO复用、定时器寄存器(PSC/ARR/CCR)精确计算,将抽象的转速需求转化为可执行的硬件操作。该技术广泛应用于智能小车、机器人关节、工业定位系统等实时运动控制场景,是掌握

weixin_42613017的博客 675

10、高阶ΣΔ调制器设计与优化

本文深入探讨了高阶ΣΔ调制器的设计与优化技术,重点介绍了NTF零点优化方法,通过分散单位圆上的零点分布提升信噪失真比(SQNR)。文章分析了量化噪声耦合技术如何有效提高噪声整形阶数,并对比了CIFB、CIFF、CRFB和CRFF等不同架构的性能特点。同时,详细阐述了基于稳定性与性能权衡的设计流程,结合Schreier的Delta-Sigma Toolbox实现NTF综合与仿真验证。内容涵盖从理论推导到实际设计步骤,为高阶ΣΔ调制器的稳定性提升与性能优化提供了系统性指导。

tgb345678的博客 134

J2ME文件系统的运用(三) 从手机存储读取图片

操作手机支持文件系统,在应用程序中读取本地存储的文件也是必须要掌握的知识。这一篇我做个简单的示例,从手机存储上读取图片。 由于是通过模拟器来显示图片,所以模拟器下的目录为root1/photos/,我会在这个目录底下放几张图片。 需要注意一点的是,root1/photos/目录不一定在wtk的目录下,虽然在wtk目录下我能找到,C:/WTK2.5.2/j2mewtk_template/a

千里积于跬步,江海成于小流 1596

本地生成无限量的AI图像和视频——无需网络,无限制,本地人工智能图像和视频生成的实用指南

我们将使用ComfyUI,这是一个功能强大的基于节点的 AI 图像和视频生成可视化界面。如果您是 ComfyUI 的新手,请不要担心。ComfyUI是什么?ComfyUI 是一款可视化工具,可让您在自己的计算机上生成 AI 图像和视频。您无需一次性理解所有内容。在本指南中,我们将从现成的工作流程入手,逐步帮助您建立信心。乍一看,内容似乎很庞杂——但本指南将着重于:-简单的工作流程-预构建示例-最少的配置我想向你展示使用这个工具最简单的工作流程。

iCloudEnd的博客 1800

J2ME开发手机游戏:宝石方块

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 577

UDS自动化测试-Service 0x27(CAPL调用dll实现key计算)

相信读者基于Diagnostic/ISO TP Confighration中cdd、dll文件的测试并不陌生,本文基于其的基础上,介绍在capl中调用内置的函数diagGenerateKeyFromSeed实现27服务解锁,从而进行诊断自动化测试。本文基于4个byte的Seed、16个byte的Key的安全访问,实现27服务的自动化测试。需要加载项目使用的cdd文件,如果没有的情况下可以使用canoe例程中默认的cdd文件。

诊断协议那些事儿's blog 2052

人工智能训练师(三级)操作技能考核·自测卷

为您定制了一份。这份试卷严格拆分了“业务分析”、“智能训练”、“智能系统设计”、“培训与指导”四大模块,所有填空题均来源于上一轮整理的。您可以先用它进行“第二步(抛开答案自己填)”,填完后对照末尾的答案速查进行“第一步(补全并运行)”的校验,最后标记错题进行“第三步(针对性重复练习)”。

suny8088的博客 102

J2ME读取文本文件的一些操作方法:

在J2ME开发过程中,我们经常会把一个文字信息保存在txt格式的文本文件中做为资源.这样便于修改和管理.那么读取它们对于一些刚接触j2me的朋友 会有些困难.前几天研究了下,看了一些兄弟的文章和代码,总结出3种方法分别读取Unicode,UTF-8,Unicode big endian格式的文件...本文没考虑读取的效率问题.这三种方法都能读取中文和英文字符.用来存放的数组长度视文本长度而定...

风流浪子的专栏 2080

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

小例子学J2ME手机游戏开发――(二)图形和图像处理

小例子学J2ME手机游戏开发――(二)图形和图像处理原创 58prince http://blog.youkuaiyun.com/prince58 转载请注明出处。 手机游戏开发中,界面的表现是一个很重要的部份,我们常常会遇到很多问题,如要制作透明效果,爆炸效果等等,这些都是由Graphics来处理的。这一节我们讲一些几个基础Graphics方法,其实很多特效也是由一些基础方法混合使用做出来的。

prince58的专栏 1802

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

J2ME开发入门(老java游戏)

一.文件下载 链接:https://pan.baidu.com/s/1JLTE8UagTVYNVNanQmhysA 提取码:iarr 1.WTK2.5.2,32位的 2.eclipse,老版本的,新版不知道什么问题,不能新建J2ME项目 3.eclipseme,J2ME插件 4.jdk1.8,32位,因为WTK只有32位 二.安装 1.jdk直接安装就行 2.WTK也能直接安装 3.eclipse直接解压出来就能运行 4.eclipseme 点击help - install new software 点

u011727804的博客 4700

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 解决MyEclipse删除后重装问题
下一篇: 『IT视界』 [原创评论]揪出"程序员"身上的"六宗罪"
QGJava
博客等级 码龄16年 14粉丝 8原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值