Pomelo 使用之 Handler 调用过程分析

写 Pomelo 的代码,一般只要在 app 文件夹下写各服务器的 Handler 就差不多了,这篇看下这些 Handler 是怎么被加载和调用到的。[......]

Read More…

Pomelo 使用之 Node.js TCP 编程基础

在使用 Pomelo 之前,还是要了解一些 Node.js 的基础知识。我之前在使用 python 的 twisted 做服务器时,用它还做了个客户端方便自己的测试。所以也想在 Node.js 上同时实现服务器和客户端便于以后对协议的测试。

一篇博客讲得很清楚了,可能由于版本的原因,有些句子在 0.8.18 上执行并不正确,所以做了修改。 Node.js net 组件的其他内容可以参考其文档

1 用 Node.js 创建 TCP 服务器

var net = require('net');

var HOST = '127.0.0.1';
var PORT = 6969[......]

Read More…

Pomelo 使用之服务器启动流程

看了会网易的 Pomelo 服务器框架,封装了整个游戏服务器的框架功能,理论上用户只需要关心业务逻辑的实现,而各种服务器可以使用配置文件设置,框架会根据配置文件自动完成服务器的启动和交互。

但是,该项目的文档非常零散,很难找到关于配置的各个字段说明。比如 config/servers.json 中的配置

{"id": "connector-server-1", "host": "127.0.0.1", "port": 3150, "clientPort": 3010, "frontend": true}

connector 服务器有两个 port 字段,分别干嘛用的呢,妹妹的[......]

Read More…

pp复读机 iPhone 2.3版本上线啦

现在还是 iOS 的版本,界面只做了 iPhone 的,但 iPad 也能下载使用。

App Store 链接

版本新增功能

1 增加“在线音乐”列表,可以在 pp复读机 内直接播放下载听力资料和歌词,资料包含有 TPO听力、剑桥雅思听力、VOA 等等。

2 增加本地磁盘列表,可以通过 WIFI 使用浏览器上传电脑中的 mp3 和 lrc 文件。

3 增加回退 2 秒复读的功能。

4 支持 iPhone 5 的屏幕分辨率。

二维码直接安装:
pp复读机二维码

pp复读机支持同步LRC歌词显示,自动重复播放歌词片段,点击歌词跳转等功能

python 获取文件名和扩展名

python 的一些小功能偶尔用一下不太能记住,总是临时去查,觉着也麻烦。昨天有需要得到路径里的文件名,记录一下 。

import os
f = "a/b/c/d.txt"
name, ext = os.path.splitext(f)
print name, ext
print os.path.dirname(f)
print os.path.basename(f)

结果

a/b/c/d .txt
a/b/c
d.txt

还有写文件

output = open("op.txt", "w")
output.write("You’re s[......]

Read More…

上周去了台湾

旅行是一个挺神奇的事情,放慢了时间,等着你,去看这个纷扰多姿的世界,去经历你无可想象的明天。回来又是匆匆,暂时还没有心思写点其他,放几个图片,表示到此一游。

垦丁鹅銮鼻的海滨栈道

垦丁鹅銮鼻的海滨栈道

我的姑娘

我的姑娘

Read More…

2D C++ 移动游戏引擎分析

目前,手机游戏市场异常火爆,开发游戏就离不开游戏引擎。本文主要分析和对比了市面上的2D游戏引擎以及对应的周边工具。

分析这些常见的2D引擎,可以提取优良特性,有助于发展自研项目。

下表列出了我所知道的2D开源游戏引擎,cocos2d-x脱颖而出。只有经过许多游戏的洗礼,不断完善特性(脚本,反射等)以及丰富的工具支持,游戏引擎才会不断壮大成长。时间和战略方向会成就伟大的引擎。优秀引擎有助于高效地创建精品游戏。

2D游戏引擎
开源
支持平台
成功案例
脚本支持
工具

Cocos2d-x
开源
跨平台
捕鱼达人,忘仙,神仙道,大掌门,保卫[......]

Read More…

cocos2d-x 教程之实战 Dots 外篇 – 从 ipa 中获取 png 资源

抄软件,自然要拿到它的原始资源。苹果对这个的保护不算很严格,所以获取资源相对还是比较简单的。

首先是找到 app 的安装文件 ipa 文件。可以在 itunes 中找到,如下图。

从 ipa 中获取 png 资源

ipa 其实是一个 zip 文件,只要把得到的 xxx.ipa 重命名为 xxx.zip ,然后解压缩就能得到里面的资源了。

进入到 Payload/xxx.app 文件夹 ( Mac 下 右键 –> 显示包内容 ),资源文件都在这里。但是你会发现有些 png 图片的预览是黑色的,也不能用看图软件打开。这是苹果做得一个保护,我们有办法搞定它。

http://www.axelbrz.co[......]

Read More…

cocos2d-x 实战 Dots ( 一 ) – 搭建主界面

cocos2d-x 教程, Dots: A Game About Connecting 主界面

抄袭从游戏的第一个界面开始,如左图。

本文的代码已经提交 Github ,ccocos2d-x 的基础版本 fork 自其 2013.6.11 下午的版本。本项目直接做在 HelloCpp 的工程上,目前在 Windows 上开发,但我不会加系统 API ,保证跨平台性,当前分辨率设置为 320*480 ,以后适时再做到 iOS 上。

开始我完全不了解 cocos2d-x ,所以把 HelloCpp 和 TestCpp 工程跟了下,了解了它的运行流程,以及如何设置分辨率、组织场景、创建对象等等。

根据我看的这两个工程, cocos2d 的程序组织大致会是这样。[......]

Read More…

cocos2d-x 实战 Dots – 序

cocos2d-x 教程, Dots 图标

除了大学时代学习 C++ 会拿本教材从头看到尾(比如《Thinking in C++》),以后我多数的学习都来自于实践和 Google 。

所以当我要学习 cocos2d-x 时,我就想找一个简单点的足够好的游戏,模仿一个。开始想做 Candy Crush Saga ,但是后来看到 Dots: A Game About Connecting ,其简单的玩法之外,简洁的设计,精致的动画,让我深刻感受到制作团队的用心和诚意。我觉得这个特别适合用来做一个“实战”训练,所以就是它啦。

由于现在也养成了写博客的习惯,所以抄 Dots 的整个过程我会通过系列博客分享出来。我不会专门分章[......]

Read More…