按月归档:2011年六月月

用Python和Pygame写游戏-从入门到精通(10)

有时候无聊在网上翻翻小说看看,绝大多数那叫一个无聊。比如说修炼的境界分几种,都有个名字,然后每种境界再有几层,这不就是变相的打怪练级么?文笔也不咋样,故事情节的驾驭能力更是让我瞠目结舌,想到这些类小说盛行,不觉感到悲从中来。感觉看这些小说,就想在看别人打游戏一般,崩溃到极点。游戏和小说的最大区别,除了声色以外,最不同的就是玩家可以沉入进去,通过自己的双手来参与;而好的游戏,更是可以通过玩家的选择,完全掌控游戏的发展,这是传统的故事媒介无法做到的事情。

很自然的,我们讲述了游戏中视觉上的种种,现在开始就要学习一下游戏中的用户输入。同样我们也要探讨一下如何让用户的输入更为顺畅,换个词就是,如果让游戏的手感更好一些。

游戏设备

玩过游戏的都知道鼠标和键盘是游戏的不可或缺的输入设备。键盘可以控制有限的方向和诸多的命令操作,而鼠标更是提供了全方位的方向和位置操作。不过这两个设备并不是为游戏而生,专业的游戏手柄给玩家提供了更好的操作感,加上力反馈等技术,应该说游戏设备越来越丰富,玩家们也是越来越幸福。

键盘设备

我们先从最广泛的键盘开始讲起。

更多

HTML5中的Canvas(介绍)

这部分说明Canvas是什么,然后Canvas又能做哪些事情。

什么是Canvas

Canvas是在浏览器上绘图的一种机制。

传统的网页,总是使用GIF或者JPEG来显示图像,这种图形是需要事先画好,“静态”的图像;随着各种要求的发展,使用Flash或Java的“动态”图像也出现了。

而Canvas,则是不使用Flash和Java,而是用Javascript的一种绘图手段。

我们实际的看一个例子,这是网上随便找的一个韩国网游排行榜的例子(很想找中国的,但是没有找到具有权威性的,有的排行榜首位都是些没听过的游戏……),使用Canvas绘制的饼图。

canvas-sample

上图是你应该能看到东西,当然上面只是一张图片,只要你的浏览器能显示图片就能看到了。

然后是实际使用Canvas的结果,一般来说现代人使用的浏览器都能显示,具体而言,如果你的浏览器是Internet Explorer 6、Firefox 1.5、Opera 9、Safari 1.3、Chrome 1.0以上,应该就可以看到。
Wordpress不认识Canvas标签,只好把例子写到另外的页面里,请点击查看。不要以为也是一副图片,用鼠标你是可以选中文字的。如果你只是看到一个白白的框子,问题大了~

更多

HTML5中的Canvas(目录)

世界正在向着美好方向发展着,不管2012、或者其它的毁灭型小行星、邪恶外星人、恐怖病毒等等最终是否会来到,我们在向着未来稳步前进。嗯……我想说什么?

互联网的老先辈HTML4,与现在互联网上最耀眼的新星,HTML5相比,是那么的孱弱和不完美,却已经给我们带来了如此巨多的惊喜。这个世界没有了网络将是不可想象的,那么未来的网络会走向何方?HTML5会把我们带到怎样的高度?恐怕没有人知道答案~

博客里应该再写一点有趣新颖的技术,否则显得有些与时代脱节啊~所以打算开这个系列,讲讲HTML5中Canvas,一个“有可能”打败Flash的技术,稍稍具体的请看这里

一句话来说,Canvas就是使用JavaScript的网页画板。这个系列基本会有下面几个部分:

HTML5中的Canvas(介绍)

什么是Canvas?Canvas可以做什么?通过例子来说明。

HTML5中的Canvas(使用)

通过实例,介绍Canvas的使用方法,并做解释说明。

HTML5中的Canvas(绘制)

Canvas不仅仅可以画线,各种各样的图形也是可以的。这节讲解几个利用Canvas绘制的图形。

HTML5中的Canvas(颜色)

这个部分介绍使用Canvas绘制时的颜色指定,同时也说明透明的使用方法。

HTML5中的Canvas(线性渐变)

这个部分,介绍如何在绘制时指定渐变,另外,不同浏览器对于渐变有着不同的特性,也说明一下。

HTML5中的Canvas(径向渐变)

类似于上面,这次的渐变式环形的。相对于使用线性,难点也会说明。

HTML5中的Canvas(图像)

Canvas可以支持JPEG、PNG等图像格式,这部分介绍如何在Canvas中显示和变换图像。

HTML5中的Canvas(参考)

各个函数的参考,估计会有比较好的,到时候找一个比较好的链一下就完事了。实在没有再说了~

上面的各个部分暂时还没有内容,要是点了说没有,过两天再来瞧瞧吧哈哈~

看轻音,学日语(8)

第八话,轻音部第五位成员终于出场了。作为轻音部不可缺少的吉祥物,2010年萌战之王,阿梓喵在很多方面都超越了她的前辈(尤其是“萌”的方面)。当年去日本出差的时候,和大家刚说到轻音,立刻就被定性为“Xさんは絶対あずにゃん派ですよね?”,WHY?虽然想立刻否定的,但再想想也没什么大错只好笑笑承认了……でも、澪もなかなか捨てられないね♪ 这个系列之前的配图都得找没有梓出场的,还挺有难度的啊~以后就方便了! 轻音 先放一段分班后的对话,可怜的澪一个人被分到其他班级:

更多

那些空格引发的血案

空格键是键盘上占地面积最大的键了,可以它却代表虚无……不过,不要小看这看不见摸得着的虚无,计算机世界,少了空格根本没法活啊~

血案1——烦恼不断:

这是轻微的,但是也是非常的麻烦。全角空格和半角空格,虽然胖瘦不同,但以肉眼实在难以识别,在编程的时候一个切换时机不当往往会带来莫名的错误,要是程序语言的错误提示不够高明,我们就会陷入程序员的 100 种境界的第三境界…… 深有体会。

血案2——吐血数升:

这些问题可能只有少数的人会遇到,但发生概率绝对不低。写平台的认为用户那里传来的数据总是有着良好规则的,而是用平台用户觉得这种微小的强壮性总是没问题的,一对不可调和的矛盾由此而生。所以,永远不要相信任何东西,如果你得到了一个错误,有1%~99%是你出错了,但还是有99%~1%的可能性是你用的工具有问题(视工具的提供者,这个比例变化很大),在IT这里,怀疑也许是长寿的良药。

血案3——崩溃跳楼:

哦,是浏览器们么,那么好像一切都是可以被原谅的了(如果要对这些个BUG逐一发火的话,WEB前端也许已经死绝了)……

血案4——惨绝人寰

 

这个是最近炒的火热的空格bug,如果你稍微有些Unix/Linux知识,就可以去上面的网址去看看发生什么了,一个空格差点就废了整个系统(其实我觉得这帮家伙可以再干的漂亮一点,把空格加在usr的前面而不是后面……)。就是看不懂上面的英文,看看图片都很快乐~

Optimus 是NVIDIA的“优驰”技术,其可以将您的笔记本电脑PC提升到绝佳状态,提供出色的图形性能,并在需要时延长电池续航时间。这个bumblebee这个项目是把这个技术移到Linux上来。本来这个项目并不出名,不过,这个bug让使其一下子成了全世界最瞩目的项目。

另外希望所有执行了这个脚本的朋友们节哀顺变。。。这里有详细一点的解释说明。

哦,倒也瞎凑了100种关于空格的血案啊~我真闲。 计算机毕竟是人类创造的啊,不可能完美无缺,只好请大家多多注意,自求多福了。

 

用Python和Pygame写游戏-从入门到精通(py2exe篇)

这次不是直接讲解下去,而是谈一下如何把我们写的游戏做成一个exe文件,这样一来,用户不需要安装python就可以玩了。扫清了游戏发布一大障碍啊!

perl,python,java等编程语言,非常好用,语法优美,功能强大;VB啥的,功能上编写的时候总有那么点不舒服的地方(个人见解),可是用户和受众极多,一个很大的原因就是:VB是微软提供的,可以很方便的编译(伪?)生成exe文件。有了exe,所有的Windows都能方便的使用了。

我们不能指望用户在玩我们的游戏之前都安装一个python和pygame,甚至还要装一些其他额外的库(比如上一章的gameobjects),这会吓退99%以上的人……所以把我们的游戏打包(注意是打包而不是编译,python毕竟是脚本程序)成一个可执行文件势在必行。

父亲节

今天是父亲节啊,祝天下父亲快乐平安~

perl有perlcc(免费高效但配置极其复杂),perlapp(简单效果也不错但是收费)等工具;而对python来说,py2exe是不二之选,首先是免费的,而且压出来的文件,虽然不能和编译软件相比,还是不错的了。

到py2exe的官方网站下载安装包,注意要对应自己的python版本。

更多

用Python和Pygame写游戏-从入门到精通(9)

上次我们说到了向量,不得不说向量是一个伟大的发明,在单纯的数字运算之中,居然就把方向也包含其中。对于如今的我们来看,非常普通的事情,几百年前的人们能够考虑到这个,实在是非常的不容易。不过同时我们也要有这样的意识——我们现在所使用的数学,未必就是最完美的。时代发展科技进步,或许我们会有更好的方式来诠释我们的世界。想想一片叶子飘落,有它独特的轨迹,如果要人类计算出来那个轨迹,即便可能,也是无比繁杂的。叶子懂我们的数学吗?不,它不懂,但它就优雅的落了下来。自然有着我们尚无法理解的思考方式,我们现在所使用的工具,还是太复杂!人类要向“道”继续努力才行啊。

魔法禁书目录,一方通行

“一方通行”凭借向量的力量成为了学园第一能力者,我们也得好好学习向量才是

扯远了,虽然不记得学校里是什么时候开始接触到向量的,不过肯定也不会太晚,如果你不知道什么是向量,最好先找一本书看看吧,这里只会有一些最最核心的讲解。
更多

天空之城——君をのせて

我只是想看看能不能贴视频……

偶尔看到《借东西的小人阿莉埃蒂》已经出来,搜索之下,发现了这个古老的天空之城OP曲,很怀念,所以想挖过来~
使用视频网站提供的代码,很容易就可以实现。

但是,很不幸,W3C的验证通不过~ 看说明:
How can I include flash in valid (X)HTML Web pages?

Many Flash authoring tools recommend, or enforce, the usage of the  element to include flash animations or applications in Web pages. <embed>, however, was never part of any standardized version of HTML, and this practice produces invalid markup.

There are many techniques to incorporate flash in valid web pages. One of the most famous is the Flash Satay technique.

那么,只能使用<object>了?估计是有插件的,不过先手动转换学习一下吧。

这就行了?不知道对不对,试一下(后来发现在Firefox不能用,还是换回来吧……):

貌似能用?Lucky~
更多

Android SDK 安装笔记

开始玩玩Android吧~ 美好的技术总是令人向往的~

安装的步骤,每一本(中文)Android书上都写得清清楚楚,实在无语,做Android开发的,想来都是足够聪明足够有经验的,把这些基础的东西一步一步截图,手把手讲解,是看不起人呢,还是骗稿费?看看developers页面上几句话不就够了么?

  1. Prepare your development computer and ensure it meets the system requirements.
  2. Install the SDK starter package from the table above. (If you’re on Windows, download the installer for help with the initial setup.)
  3. Install the ADT Plugin for Eclipse (if you’ll be developing in Eclipse).
  4. Add Android platforms and other components to your SDK.
  5. Explore the contents of the Android SDK (optional).

更详细一点的看这里:http://developer.android.com/sdk/installing.html。如果光看这些有无法完成的,私以为应该再修炼修炼……

更多