`
zhc0822
  • 浏览: 228615 次
  • 性别: Icon_minigender_1
  • 来自: 宝仔的奇幻城堡
社区版块
存档分类
最新评论
文章列表
模板系统 Torque X使用模板系统来创建新的对象。一个模板就是一个普通的游戏对象,除了模板对象不可以在引擎中注册。取而代之的是,克隆一份模板,然后将这个模板对象注册到引擎中。 一个模板的例子 假设你有一个反 ...
  组件系统 Torque X提供了组件系统来继承游戏对象。如果你查看内置的入门包的话,你会发现大多数游戏功能都是在组件中实现的。这份文档描述了组件系统以及它是如何工作的。   继承游戏对象 在深入研究组件到底是什么之前,先来考虑一个基本的实现问题。 在大多数面向对象语言中,包括C#,给一个对象添加新方法的主要内置方法是继承该类并修改子类。例如,假设你需要为一个特殊的游戏对象添加物理和碰撞功能,这个类叫做Player。你实现了Player类的逻辑。然后,你发现你还有一个类叫做Monster,它也需要同样的功能。你可以从Player类中复制粘贴代码到Monster类——这显然是个坏主意 ...
1. Squash and Stretch 挤压和拉伸    以特体形状的变形,强调瞬间的物理现角。2. Anticipation 预备动作  加入一反向的动作以加强正向动作的张力,借以表示下一个将要发生的动作。3. Staging 表演及呈像方式:    角色的仪态、及表演方式,配合适当的摄影机运动,使能够有效的表达角色的特性及故事中的讯息。 4. Straight-ahead vs. Pose-to-pose 连贯动作法和关键动作法:
    今天为大家带来的是一款“华而不实”的JavaScript特效。 这个控件是我2个月前为一个小项目写的。实现了一个比较有立体感的圆盘菜单效果(抄袭的ipod里打砖块游戏的菜单效果)。 老规矩,先上图。   当用户点击某一项时,圆盘会滚动,将点击项显示在最前端。当用户点击最前端项时,菜单项会向四周退去并渐隐,最后调用用户事先设定的回调函数。   浏览器测试情况如下:   Opera10 测试通过 FF3.5 测试通过 Chrome6 测试通过 IE7/8 测试通过 IE6 没有测试 使用圆盘菜单的方法也很简单: 1、引入js文件   <scrip ...
jCompiler是我一年前完成的一个课程作业。目的是尝试为编程语言提供基于浏览器的编译器实现+骗取高分(这才是重点)。 实现的功能有:词法分析、语法分析、语法树生成(LL(1)文法)和中间代码生成(四元式)以及解释执行。下面上图。 也许有人会有这样的疑问,为什么要用JavaScript来实现一个编译器?意义何在?ok~答案是,JavaScript是我当时用得最熟练的编程语言...这个玩意的研究价值应当大于它的实用价值。它现在的最大的价值是为纠结于编译原理这门课的童鞋提供一个相对完善的编码实例。也许在不久的将来,它会演变为一个云端的IDE。Who knows. 另外,水平所限,程序仅支持火狐 ...
一个模拟3D旋转效果的js走马灯。 混淆过的版本大小为3K。 点击预览效果 浏览器支持情况如下: IE6 没有测试 IE7/8 通过 FF3.6 通过 Opera10 通过 Chrome5 通过 调用的方法非常简单,共需4步。 第1步,你需要将以下html代码复制到你的html文件中去。图片的id请按照“fr_rawImg_n”的方式依次设置; <div id="fr_3drotate"> <div id="fr_cubeRotate"> <img src=" ...
背景 数据量太大,主存容纳不下怎么办? 有时候,尽管程序本身很小巧,但却得处理大量数据(比如BT客户端)。这种情况意味着,尽管程序本身可以进入主存,但是数据却耗费了太多内存。 模式 因此,我们应当一次只处理一 ...
背景 先讲个故事。 欧茨队长是维多利亚女王时代的一位探险家。在去往南极的探险之旅的返程中,探险队出现补给短缺情况。心情沮丧又患了冻疮的欧茨为了给其他队员创造生存机会,牺牲了自己。他走进暴风雪中,留下了知名的一页日记:“I just going outside and may be some time.”(我出去转转,可能得一会儿)。然而,欧茨的牺牲并没有挽救他的队伍。次年他们的遗骸被发现。 模式 欧茨队长模式要求我们应该牺牲非必要组件的内存,以满足更重要的任务的内存需求。 更深入的讨论 欧茨队长知道现在团队的补给严重短缺,所以他选择牺牲了自己。那么我们的“欧茨组件”何时能够知晓系统中可用内存 ...
背景 A、B两公司主营相同的业务。A公司耗费两个月时间,开发出一个基于flash的RIA站点用于宣传。B公司耗费一周,开发了一个简单的CMS用于宣传。顾客Z的浏览器不支持flash或禁用了flash。Z先访问了A公司的站点,然后再访问B公司 ...
背景 模块化带来的好处不言而喻。模块间通过接口互相调用服务,从而实现系统的高内聚与低耦合。 然而接口本身也需要临时内存。在接口间传递数据需要大量的内存。 让我们回忆一下面向对象编程中对于耦合的七种定义。其中推荐的做法之一就是使用所谓“数据耦合”的机制,即在接口间仅传递简单的数据结构、仅传递需要使用的数据。 Android官方编程指南则说的更直白:推荐使用内部类。在极端情况下,没有接口间的互相调用,由此节省下来的内存数量则相当可观了。 模式 因此,我们需要设计出一种让客户可以自由控制数据传输的接口。 那么这里的客户该如何定义呢?根据卡耐基梅隆大学的面向对象教材,调用的一方称为客户(client) ...
背景 在内存受限设备中,经常会遇到这样的问题: 如何在多个相互竞争的组件之间分配内存? 例如,在一部普通的手机中,有游戏、音乐播放、图形界面等组件,每个组件对内存的需求都是“贪婪”的,并且这种“贪婪”是有道理的,即一般情况下,组件得到越多的内存,则该组件的运行表现越良好。但是如果放任每一个组件都去试图尽量多地分配内存,那么系统的总内存将入不敷出。 让我们撇开数量众多的嵌入式设备不说。即便面对如今内存动辄上G的智能手机,我们依然应当谨慎地为各个组件分配内存。 模式 让我们考虑如下的模式: 为每个组件设置限额,超过限额的请求将不予响应。 我们将它称之为:内存限额。 内存限额的目标是防止某一个组件独 ...
该控件是在Jacob Klint的作品之上精简而来。特此鸣谢。 现在在开发一个语音录制软件。需要实际监控麦克风的输入音量并显示。类似QQ的语音功能。 可用的技术很多,Windows media encoder、microsoft expression encoder、microsoft SAPI以及microso ...
一个简单的JavaScript图片轮转效果。先上图(盗用了QQ的图)。 浏览器支持情况是大家比较关心的。该控件支持包括ie6/7/8、FF、chrome和opera各个浏览器。 共支持5种效果,分别为: 交替切换; 闪光切换; 淡入淡出; 纵向滚动; 横向爬行。 调用的方法非常简单。共需要4步。 1、首先,你需要将以下代码复制到你的html文件中去。图片uri可自行替换。carouseltitle中的列表是切换的控件,所以图片和li的数目应当相等。 <div id="carousel"> <div id="carousel ...
_id字段是MongoDB中一个特殊的字段,它的类型为BSON ObjectId。它是每条记录的第一个属性,并且该属性值必须唯一。 BSON ObjectId长12个字节,包含4字节的时间戳、3字节的机器id、2字节的进程id以及3字节长的计数器。它的结构如下图所示: 0 1 2 3 4 5 6
闲暇之余,写了一个封装MongoDB数据库访问操作的小程序——Mongernate。 下面简单地介绍一下这个隔离层的特色: 1、业务层的编码人员不需要了解MongoDB的相关语法,即可对数据进行增删改查操作,进行常见开发; 2、支持json、xml和Map三种形式的增删改查方式。可根据项目情况自由选择(Map支持得还不够好)。 3、支持从配置文件dbConfig.properties读取配置信息 4、返回给业务层的所有数据均为java.util.Map形式。 下面是一段测试用例,有详尽的注释。 package com.skyedge.db; import java.util.Arra ...
Global site tag (gtag.js) - Google Analytics