预览模式: 普通 | 列表

坐标变换

Isometric Tile的处理比矩形的稍微复杂一点的地方在于屏幕是矩形的, 而反映出来的游戏世界的坐标轴有些不同. 无论是精灵的移动, 还是处理 Tile 都需要经过坐标变换. 而一个屏幕的区域在游戏世界的地图上却成了一个菱形. 我想,所有第一次设计 Isometric Tile 引擎的程序员都为这个烦躁过 (自己的感受啦;-) 不排除因为这个原因修改自己的原始设计的可能性 ^_^.

查看更多...

Tags: Game

分类:资料转载 | 固定链接 | 评论: 7 | 引用: 2522 | 查看次数: 4338

赞美基督

昨天是我二奶奶的80大寿和60年蒙恩的日子。我们一家人都感到了上海去庆祝。在晚宴上社区里的神父致了开幕词。一些长辈也自我介绍了一下基督拯救他们感受恩德的故事,有些老人已信仰基督达70几年了,真是赞叹信仰的力量。我奶奶为了感谢耶稣赐予给她的恩惠特地给我和我的一些堂哥堂弟的名字中带恩字。宴上说的最多的一句话就是感谢耶稣。我向一些长辈介绍我的老婆时尤其是这样。感受我主给予我生命和智慧,替我背负罪责,在耶稣面前我们每个人都是有罪的。在每次直面自己的缺点不断自我的检讨和反省大概就是基督教人不断向善的原动力吧,也是原罪论的体现吧。赞美耶稣,永生永世...
分类:生活随笔 | 固定链接 | 评论: 2 | 引用: 2169 | 查看次数: 4111

遮挡处理

所谓 Isometric, 应该是指等距视角, 和透视相对, 指视野内的物体, 无论远近都用同一大小来表现. 而Tile 就是指的砖块, 我们平常所见的许多 2D 游戏, 都是 Tile 的. 比如新出的决战朝鲜, 还有去年的皇朝霸业;-), 这两个游戏都是典型的 Tile 游戏, 游戏中的元素被分割为一个个的砖块拼装起来. 不同的是, 前者是矩形的 Tile, 而后者是 Isometric 的. 它的Tile 有高度, 底面为一个菱形. Isometric 的外观更接近真实物体, 我个人比较喜欢这样的图形表现形式. 由于 Isometric 的 Tile 相互覆盖, 所以就有了遮挡问题, (传统的矩形Tile是没有遮挡问题的, 但其扩展也需要处理这个,不过比Isometric的简单), 这也许是Isometric Tile 引擎设计的一个难点.

查看更多...

Tags: Game

分类:资料转载 | 固定链接 | 评论: 0 | 引用: 1188 | 查看次数: 3708

CPU 的Cache 和Latency

这篇文章主要是探讨现在的 CPU 的 cache 和记忆体系统之间的关系。

  CPU 速度的进展,一直比记忆体的速度进展要来得快。在 IBM PC XT 的时代,CPU 和记忆体的速度是差不多的。不过,后来 CPU 的速度就愈来愈快。再加上 DRAM 需要 refresh 才能保存资料的特性,DRAM 很快就跟不上 CPU 的速度了。现在的 CPU 都利用了 pipeline 的方式,可以每个 cycle 都 issue 一个(甚至多个)指令,再加上现在的 CPU 时脉也比记忆体的时脉高,记忆体的速度可说是远远落在 CPU 之后了。
  为了避免记忆体成为 CPU 速度的瓶颈,现在的 CPU 都有 cache 的设计,甚至还有多层的 cache。Cache 的原理,主要是利用到大部分的程式,在处理资料时,都有一定程度的区域性。所以,我们可以用一小块快速的记忆体,来暂存目前需要的资料。

查看更多...

分类:资料转载 | 固定链接 | 评论: 2 | 引用: 1511 | 查看次数: 4201

三维世界

要描绘三维物体就得有三维坐标系。描绘三维坐标系,最好先从二维坐标系统开始,您可能很熟悉二维笛卡尔坐标系。如果把书页想象成一个平面,在定义二维坐标系时可以先选定一点作为原点。按通常的做法,选取书页的左下角作为原点。然后可以把书页下底边沿作为X轴,左边沿作Y铀。请注意两坐标轴是相互垂直的。一旦定义了原点和坐标轴,就可以用指定坐标的方法指定页上的任意一点的位置,点的坐标为分别沿X轴和Y轴的距离。由下图可见X坐标是该点沿X轴的距离Y坐标是该点沿Y轴的距离。点在平面上的位置常表示为(x,y),其中x和y就是X坐标和Y坐标。

通常所用的三维笛卡尔坐标系是二维笛卡尔坐标系的扩展。三维坐标系又另加了一轴——Z轴,它垂直于x轴和Y轴决定的平面。如果把x轴的正方向想象为书页的右方向,把Y轴的正方向想象为书页向上万向,那么z轴的正方向即可以指向书页内,又可以指出书页外。按右手法则,Z轴正方向应该是指出书页外(见图)。
在图形学和工程学的规则中,右手法则是表达和操作三维坐标的标准数学约定。不过只要您清楚所选坐标系的含义,并且做到前后一致,那么具体选择什么坐标系其实并不重要。

查看更多...

Tags: Game

分类:资料转载 | 固定链接 | 评论: 2 | 引用: 4775 | 查看次数: 6031

CSS中Pixelate滤镜

filter : progid:DXImageTransform.Microsoft.Pixelate ( enabled=bEnabled , duration=fDuration , maxSquare=iWidth )
属性:
enabled : 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false true : 默认值。滤镜激 活。
false : 滤镜被禁止。

查看更多...

Tags: 脚本

分类:资料转载 | 固定链接 | 评论: 0 | 引用: 2578 | 查看次数: 4664

JavaScript小技巧

程序代码 程序代码

事件源对象
event.srcElement.tagName
event.srcElement.type
捕获释放

查看更多...

Tags: 脚本

分类:资料转载 | 固定链接 | 评论: 0 | 引用: 1561 | 查看次数: 3841

内存分配的注意事项

在C++中 malloc/free new/delete是二组非常常用的内存分配和释放函数。
前者多用于C,后者多用于C++(用于对象)
通常一个函数返回指向一片在函数体内分配好的内存将使得返回的对象因作用域的消失而失效,导致程序失败。

Void GetMem(char *p)

查看更多...

Tags: C++

分类:技术感悟 | 固定链接 | 评论: 5 | 引用: 2763 | 查看次数: 4395

写自定义的ASP Object

由于工作的关系不得不接触ASP,其实早在几年前就学过ASP不过对他混乱的语法设计,业务和逻辑交织在一起的意大利面条式的结构没有什么好感。现在赶上了ASP.Net却又要翻起那ASP,咳。相比JavaScript就要来得好一些了,类似C的语法结构学习来也比较顺手。只是Web编程的事件定义的混乱,封装的不完善等到Net还没有任没有改观。于是产生在基于ASP对象的基础上自己来设计一套脚本语言可行吗?
现在打开心爱的Delphi,定义一个ActiveX Library Object,该文件生成四个过程(Procedure)
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,

查看更多...

Tags: 脚本

分类:技术感悟 | 固定链接 | 评论: 1 | 引用: 3645 | 查看次数: 4333

再公布一个软件的源码

能够自动显示系统中OCX控件的生产商,版本,备注等信息。而且还能批量注册和反注册(无需RegSvr32的支持)OCX。哈哈,很早的作品,代码很烂不要见怪哟。不是最近的作品不肯开放源码,只是最近没有写什么完整的代码。
只允许会员下载 该文件只允许会员下载! 登录 | 注册

Tags: 源码

分类:我的作品 | 固定链接 | 评论: 1 | 引用: 1412 | 查看次数: 4091

[隐藏日志]

该日志是隐藏日志,只有管理员或发布者可以查看!
分类:生活随笔 | 固定链接 | 评论: 0 | 引用: 33 | 查看次数: 1882