首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
 您现在的位置: 中国IT实验室 >> 游戏开发 >> 游戏程序设计 >> 文章正文
[RM2003]制作脚印消失的方法
来源:中国IT实验室收集整理 作者:佚名 时间:2008-2-27

如果以下有什么不明的地方,请参照《关于脚印的制作教程》

方法有如下几种:

  1. 利用数据的存储方法来实现'多个脚印事件到时消失变量'的压缩
    在rm中,每个变量均可以存放一个7位的10进制数,最大为9999999
    转换为其他进制数后的结果是:
     2进制:100110001001011001111111
     3进制:200211001102100
     4进制:212021121333
     5进制:10024444444
     6进制:554200143
     7进制:150666342
     8进制:46113177
     9进制:20731370
     10进制:9999999
   由于想要存放同类的数据,所以每位的最大值应该相等
   因此实际可用长度为当前长度-1,因此长度为:
     2进制(23位):11111111111111111111111
     3进制(14位):22222222222222
     4进制(11位):33333333333
     5进制(10位):4444444444
     6进制(8位):55555555
     7进制(8位):66666666
     8进制(7位):7777777
     9进制(7位):8888888
     10进制(7位):9999999
   由于2进制的0、1特性,所以很适合做成开关,但rm自带5000个开关,个人感觉没必要
   而3、4进制最大可存数为2、3,作为脚印的存在时间来说太短了,
   而6、7、8、9、10进制所能存储的位数太少,虽然时间充裕多了。

   所以综合来看,5进制用来存放时间还是比较不错的。

   要想运用5进制存放时间,有以下两种方法
    1, 把5进制10位数不同变化转变为10进制9位数并用条件来分开判断,并实现结果
     
      但由于10位最高数为4的5进制数的各位不同变化转化为10进制就有1048576种
      不同的数,就算是其他进制,也几乎是不可能的……

      所以,要想运用此种方法,就不能将位数全部用上,但也突出不了压缩的效果了

    2, 用rm自带的运算法则来取出自己想用的数,rm有加、减、乘、除、余5种运算法则

      先判断当前5进制数是否大于10、100、1000、10000....来判断该数的位数

      再用除法除去自己想除的10的倍数,再取10的倍数的余数(倍数因需要而定)
      就能得到响应的位的数,再对该数进行加减。

      但不幸的是,rm没有直接取直接用的功能,它必须对一个变量除以或取余一个数然
      后存入第1个变量中,如果你需要该5进制的10个位的数就必须要有10个变量
      这样反而比直接用变量来存时间常数要用到的变量还多……结果当然是NO!

      由于前面的方法都不实用,故又想到一新方法,但……

  2. 因为定期并列处理是个循环,所以每当判断前次移动的坐标与今次移动的坐标不同
    便给一个新变量+1(以下称该变量为变量A)

    因为它的无限循环,所以如果长时间不移动主角,变量A的值就会越来越大,
    
    判断该值的大小,根据实际情况来设定
    
    当该值大于一个常数时,逻辑理解为主角没有持续走动,停了下来
    所以再下次移动的时候在原主角停留地处留下一个'主角曾经停留过的标记'
    这个标记就是一个区别于其他一直行走的脚印图的事件图(特征为:有一个双脚直立效果)

    当该值小于一个常数时,逻辑理解为主角持续走动.按正常处理.

    而脚印的消失,是由于第1个脚印消失后,其余脚印才开始逐个消失
    所以,只要判断哪个脚印是第1次移动过的脚印即可实现消失功能.
    而什么是第1次移动呢?便是由站立不动的状态开始向行动状态转变的那一次移动.
    而最后一次行动,就是指变量A的值再次大于一个常数时,最后调用过的脚印事件
    所以,当变量A内值大于一常数时,便是'脚印事件到时消失变量'的倒记时开始,当该
    变量倒记时为0时,呼叫当前事件第2页:变更事件图为消失图,然后调用(当前事件号+1)
    的事件的第2页,然后该事件又调用下一个事件,直到该事件是最后一次调用的事件.

    由此便能实现脚印的消失,但有一个很大的隐患(未经证实)
    便是,我不确定定期并列处理重复执行的速率是多少.
    按理来说应该和cpu挂钩,也就是cpu越快,执行速度就越快.那么事件A累加的频率就越快
    所以有可能出现,一直出现行动状态脚印图片的脚印移动系统
    或一直出现停留状态脚印图片的脚印移动系统.

    需要新的建议!如有赐教者!不胜感激!
【责编:Luzi】

中国IT教育热线咨询

相关文章
游戏开发中显示对话的特殊句法
游戏开发项目管理的现状
迪斯尼收购国内游戏开发商奕动游戏
EA就天悦起诉之事发表致媒体公开信
游戏设计中俳句与禅文化
推荐文章

 精彩友情推荐
·神州数码交换机
·神州数码交换机价格
·神州数码网络交换机
·netgear交换机
·网件交换机
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
 基础入门  开发文档
 最新推荐
  多数的Windows程序都需要Windows.h和Windowsx.h这两个头文件,要确保使用它们。当然,你还需要其它......
游戏引擎演化史
在Windows上安装OGRE的方法
关于滤镜遮罩概念,Sobel 遮罩
游戏开发新手入门之Windows编程
游戏开发新手入门之位图化图形
教你实现卡通渲染的另类勾边方法
游戏设计大师谈如何成为一名游戏设
Visual C#编写 3D游戏框架示例
真正的 Java 学习从入门到精通
游戏开发经验——游戏开发的基本常
  为什么要研究攻击行为在人类有记载的5600年的历史中,共计发生了14,400次战争;今天,平均一天要发生............
游戏开发中显示对话的特殊句法
游戏原型设计的介绍
网络游戏中的攻击行为
谈动作类游戏的必要条件
规则的多元分析模式
载入位图文件到DirectDraw
Archer Game Suite 是什么?
浅谈游戏企划-新手入门篇
暴雪称霸游戏业界的六大秘密绝招
骨骼动画及示例Skinned Mesh的解析
  培训中心