蜗牛的壳

蜗牛的壳

me =~ s/nai/liu/m;

浏览模式: 标准 | 列表
全部文章

在家宅了好几天,一直说做一套游戏引擎,断断续续终于做出个开始页面,而且还是从微软提供的 Catapult 实例修改来的。按钮图片时随手画的,小绿的图片是随手拿的。

大小: 563.16 K 尺寸: 400 x 213 浏览: 0 次点击打开新窗口浏览全图

其实改动还是很大的。为了重用性,特意加了 ScreenAsset 类来描述页面上的各个组件。另外还重构了好几个类,该合并的合并,该分拆的分拆,大部分设置都改成可以自行调整的参数。

游戏开始页面无非就是那么几个部分:背景、标题、附加的图像、菜单(多个文字+图像)。

总结经验如下:

1. 游戏的启动顺序是:Constructor => Initialize() => LoadContent(),然后就开始按照帧率执行 Update() 和 Draw() 方法。(参考阅读

2. 标准游戏字体只能使用拉丁字母,需要中文要自己建立字表和 FontProcessor 来编译字库。这个字体编译很耗时,在我的 Core i7 860 上编译 3500 个汉字大概要半个小时。(参考阅读,其中要注意的是字表文件要放到 Content 文件夹下,并且设置为“不编译”)

3. 最好不要在 Constructor 里面生成页面,因为此时 GraphicDeviceManager 还没有初始化完毕,很多参数无法拿到。建议在 LoadContent() 里面生成页面。

4. 一次手误,将 Properties 的 get/set 操作中的变量名和属性名给写重了,结果编译之后莫名崩溃,找了好半天才找到原因。

5. 音频文件只支持 WAV(?),所以我加了个背景音乐之后,编译出来的 XAP 竟然有 32MB。

接下来要做游戏页面了。不知道又要花多少天。

Merry Christmas 圣诞快乐


今年陪我过圣诞的是——小光~(微软 Silverlight 娘)

 大小: 672.81 K 尺寸: 225 x 400 浏览: 1 次点击打开新窗口浏览全图    大小: 562.43 K 尺寸: 225 x 400 浏览: 0 次点击打开新窗口浏览全图

另附一张前天在玩《Memories Off 6 ~T-Wave~》时,无意中松开 RT 得到的画面。(偏旁部首如此排列我看不懂,但是听上去像是“圣诞快乐”这句话)

 大小: 859.69 K 尺寸: 400 x 300 浏览: 0 次点击打开新窗口浏览全图

值得一提的是,本性难移,我这人生 20 多年,每次在从莉莉丝和智莎两种类型之间选择时,都会选择智莎……而莉莉丝,就是那个到最后连朋友都做不成的角色……

P.S. Lunarpages 主机升级了,传个图片费死劲。搞了一个多小时才传好。

天河1号,我感到压力很大


今天看到了 cnBeta 上讲天河1号的一篇文章。有几个细节值得关注一下。

大小: 74.56 K 尺寸: 400 x 361 浏览: 1 次点击打开新窗口浏览全图

“自主研发的处理器 FT-1000”:在网上搜索了一下,相关信息很少,貌似是基于 Sun 的开放架构改进的。至于这算不算自主研发暂且不说,至少没有硬件上的后门。

大小: 79.83 K 尺寸: 400 x 393 浏览: 0 次点击打开新窗口浏览全图

“自主研发的高性能互联接口芯片 NIC”:其实就是 Ethernet -> PCIe 2.0 Bridge。不过,对于 16 Lanes 和 1.1 us 这两个数据我还是很关注的。因为不确定芯片的基准频率(125 MHz ~ 500 MHz 之间),所以不好估算真实的性能。但是,可以肯定的是这块芯片运行在 store-and-forward 模式下,因为需要 packet re-assembly。这个 16 Lanes 和 1.1 us 的性能就算不是国际顶尖,也很不错了。

大小: 76.26 K 尺寸: 400 x 400 浏览: 2 次点击打开新窗口浏览全图

“自主研发的高阶互联交换芯片 NRC”:说白了就是三层协议 16 口 Ethernet 交换芯片。对于片内延迟 30 ns 这个超级强大的数据,我表示不能接受。三层交换竟然能达到 30 ns,也就是说基准频率 500 MHz 的情况下 15 个时钟周期完成交换,就算 cut-through 模式这也实在太快了。我见过的芯片(我说的是芯片,不是芯片内部的交换模块),估计 30 ns 连 buffer 都没填满。

至此,我表示压力太大了。如果研发单位(国防科技大学?)把上面这两块芯片单独拿到市场上卖的话,估计我就该回家喝西北风了。

注:在看文章的时候我做了个假设,所有芯片的基准频率最高到 500 MHz。因为我不认为国内有实力去研究 500 MHz 以上的工艺(是工艺,不是设计)。事实上,高频率对芯片内或引脚之间的信号互扰、芯片内部的时钟延迟有很大影响。如果国内真能研究出更高频率,那还锁在抽屉里干嘛,出手就能把国外公司杀个片甲不留。

四格 Kinect


继四格 Symbian 之后,Engadget 再度发表四格 Kinect。

大小: 66.26 K 尺寸: 400 x 319 浏览: 0 次点击打开新窗口浏览全图    大小: 79.26 K 尺寸: 400 x 319 浏览: 2 次点击打开新窗口浏览全图

大小: 70.72 K 尺寸: 400 x 319 浏览: 0 次点击打开新窗口浏览全图    大小: 70.78 K 尺寸: 400 x 319 浏览: 0 次点击打开新窗口浏览全图

出场游戏:
第二格:《Kinect Adventure》大冒险
第四格:《Fighter Uncaged》格斗

兔年简笔画:2011


篇首废话:今天没事闲的开始写 TBGE 的初始规格稿。反正过几天圣诞在家,自己写一个玩玩吧。既然打算开始做 TBGE,第一个演示版要简单而且应用到所有功能。于是乎,在网上搜素材的时候发现这么个东东。(不知道这是啥的同学说明你宅的还不够哦~)感谢百度帖吧……

大小: 74.71 K 尺寸: 97 x 400 浏览: 34 次点击打开新窗口浏览全图

Windows Phone 7 开发笔记:读取网络内容


刚买了 Windows Phone 7,自然要拿来练练手。好久没正经写过软件程序了,对于 .Net、Silverlight 还很陌生。摸爬滚打之后,总结一些通用的东西。

第一个练习程序很简单:读取网络内容,分析/提取有用的信息,然后显示出来。

读取网络内容

Silverlight 作为 .Net 的子集,依然是使用异步通讯法读取 HTTP 资源。也就是说,通过 HttpWebRequest.BeginGetResponse() 先发送非阻止请求(non-blocking),然后通过回调函数(Callback)来处理真正的返回内容。(具体例子可以参见:MSDN 资料

但是,MSDN 给出的例子却不能正常在 Windows Phone 7 上面运行。问题就出在“多线程”机制上。MSDN 的例子,在发送请求之后,通过调用 allDone.WaitOne() 等待回调函数触发 allDone 事件。但实际上因为 Windows Phone 7 的多线程机制,进程会卡死在等候 allDone 事件上。

另外,由于回调函数属于另外一个非用户界面线程(non-UI thread),所以任何跟 UI 有关的代码都不能直接出现在回调函数中,否则会出现“Invalid cross-thread access”异常。解决方法下面会提到。

分析/提取内容

不多说,正则表达式(Regular Expression)是不二的选择。只是要在规则(pattern)字符串前加一个 @,这样才能使用正则表达式的转义符(比如:\s、\w 等等)。MSDN 资料

显示内容

之前提到过,在非用户界面线程中直接调用跟用户界面有关的代码,哪怕是向 ListBox 中添加项,都会造成异常。这时候就需要 Dispatcher 参与。

 

C#代码
  1. // extract prices and show  
  2. Deployment.Current.Dispatcher.BeginInvoke(() =>  
  3. {  
  4.     this.Items.Clear();  
  5.     foreach (Match m in priceRegex.Matches(fullHTML))  
  6.     {  
  7.         this.Items.Add(new ItemViewModel() { LineOne = m.Groups[1].Value, LineTwo = m.Groups[2].Value, LineThree = m.Groups[4].Value });  
  8.     }  
  9. });  

 

三大移动操作系统的对比


终于没忍住,冲到 Best Buy 买了一个 HTC 7 Surround。感受全新的 Windows Phone 7 之后,感觉三大平台各有千秋。我没用过 Android,所以这个事实上的市场第一就不参与评比了。

Symbian

换手机之前用的是 Nokia 5800,Symbian S60 v5 系统。Nokia 不愧是老牌手机厂商,就连自己的手机系统都是以“电 话”功能为主。除了电话功能之外,其他的上网、游戏、应用等等“外围功能”都做得一般般,没什么出彩的地方。甚至自身的 Ovi Store 排列凌乱,也没有好用的应用。但是,如果想要一个打电话的手机,Nokia 是不二的选择。性价比高、信号好,这些都是别的厂商无法超越的。另外还要表扬的是 Nokia 免费的 Ovi Maps 导航。不仅地图精细,还带有车道提示(Lane Assistance)。

iOS

我不曾有过苹果 iPhone。但是好像周围所有人用的都是 iPhone,所以也经常拿来把玩。说句实话,苹果的界面做得十分人性化,这也符合苹果公司的一贯风格—— UI 至上。如果要问苹果和微软有什么区别。第一,苹果不做系统;第二,苹果的用户界面功底炉火纯青。所以,iOS 最为人称道的便是“用户体验”。手势操作、平滑滚动、缩放、滑动等等让人称赞的地方无一不是 UI。

但是,iPhone 的定义还是“电话”。最早的 iPhone 瞄准的是手机市场,在 iPhone 3G 之后才转型为移动网络终端,着重于网页浏览、附加应用等等方面。但是,到了 iPhone 4,“电话”却成了最薄弱的功能。这也算是苹果的败笔/特色(取决于从那个角度去看)。

Windows Phone 7

微软下决心在移动平台上有所作为。于是微软推翻了 Windows Mobile 系列的 Win CE 内核,重新制作了一套 Windows Phone 内核。

拿到 Windows Phone 7 之后,发现这已经不能称作是一个手机了,而是一个彻头彻尾的互联网终端。“电话”只是其中的一个功能,和互联网、游戏、社交平行的功能。

从用户体验来讲,Windows Phone 7 和 iOS 旗鼓相当。操作流畅、手势应用,最重要的是 Windows Phone 7 集成了几乎全套的 Windows Live 服务。微软不愧是做系统出身的,这一次把系统整合发挥的淋漓尽致。Windows Live Mail、Contact、Calendar、SkyDrive、Office Live、Xbox Live 一个不差,这也是我为什么为之心动。

但是 Windows Phone 7 还不完善。没有复制/粘贴、多任务等等关键功能。但是,微软一直在努力,Windows Phone 7 也将一直会进步。就像 Xbox 一样,虽然第一代看似发育不良,但是第二代确有突飞猛进的进步。

最后,要喷一下 Windows Phone 7 的联系人功能。要想从联系人列表里拨电话,要先进入 People,然后滚动/快进找到联系人,点击联系人,然后再点击详细资料里的电话号码才能拨出去。而联系人列表是从 Windows Live 同步来的。如果你的 Windows Live 联系人很杂乱,那么对不起,Windows Phone 7 的列表也会很杂乱。就因为这个,今天我花了一下午时间整理、删除、合并 Windows Live 联系人,终于把显示数量从近 500 个降到 140 多个。长久不联系的、不认识的、朋友的朋友全部进了垃圾桶。对这些人我也只能说声“对不起”了。阿门!

Coalesced.ini 封包/解包程序


从网上找了一个破解的《Mirror's Edge》xex 文件,好处就是可以随意更改 ini。

但是光盘上的 Coalesced.ini 是被打过包的 ini 集合。麻烦归麻烦,随手做了一个 Coalesced.ini 封包/解包程序(cooker)。试了一下运行良好。

想把每关 Speed Run 的时间限制改成 1 小时么?试试这个吧。

下载地址 (需要 .NET Framework 3.0)

四格 Symbian


Engagdet 的配画。萌翻了~

大小: 92.22 K 尺寸: 400 x 317 浏览: 2 次点击打开新窗口浏览全图    大小: 100.37 K 尺寸: 400 x 319 浏览: 1 次点击打开新窗口浏览全图

大小: 98.26 K 尺寸: 400 x 318 浏览: 0 次点击打开新窗口浏览全图    大小: 93.45 K 尺寸: 400 x 319 浏览: 0 次点击打开新窗口浏览全图

“遥控炸弹”你赢了。

Xbox 360 JTAG 备用点


主板背面:

大小: 1.23 M 尺寸: 400 x 301 浏览: 5 次点击打开新窗口浏览全图 

Records:30712345678910»



« 2012年02月 »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

标签

用户


链接


归档


信息

  • 分类数量: 15
  • 文章数量: 307
  • 评论数量: 114
  • 标签数量: 556
  • 附件数量: 510
  • 引用数量: 0
  • 注册用户: 12
  • 今日访问: 109
  • 总访问量: 778608
  • 程序版本: 1.6


加拿大中文电话

  • CIBC
    1-888-298-8822
  • TD Canada Trust
    1-800-387-2828
  • HSBC
    1-888-310-4722
  • Scotia Bank
    1-800-830-8080
  • RBC Royal Bank
    1-888-769-2598
  • Rogers TV
    1-800-787-7953
    1-866-406-7239
  • Rogers Wireless
    1-800-828-9828
    or *2288
  • Fido
    1-866-888-3436
  • Bell Home Phone
    1-800-715-1888
  • Bell ExpressVu
    1-888-759-3474
  • UPS Delivery
    1-800-233-8133