2006年5月

昨日试着汉化 PSP 游戏…… 未果……

昨晚抽空研究了这两个游戏……

《富豪街》汉化截图1

《富豪街》的文本量不少……
但是比较集中……
而且如果我没有猜错的话……
几乎全部都没有加密(因为游戏我刚玩了部分)……
但是它自带的日文字库的汉字太少……
以至于《怪物猎人》的汉化方式对其来说不可取……
很多常见字几乎都没有……
所以……
大伙儿如果要看到它的汉化版……
可能得等我们找到它的字库……
(好在可能性是有的……)

《火影忍者》汉化截图1

《火影忍者》字库里的汉字相比之下就大多了……
但是问题是只有选项、忍术、道具、人名部分明文摆在文件内……
剧情对话的文本至今我没找到……
很有可能是加密了……
所以要完美汉化火影忍者……
不仅要找到字库……
可能还得把对话的文本找到并导出……
想必工作量也不小……

不知有没有志同道合的朋友呢?

下面是我粗略汉化过的菜单界面截图……

《富豪街》

《富豪街》汉化截图1 《富豪街》汉化截图2 《富豪街》汉化截图3 《富豪街》汉化截图4
《富豪街》汉化截图5 《富豪街》汉化截图6 《富豪街》汉化截图7 《富豪街》汉化截图8

《火影忍者》

《火影忍者》汉化截图1 《火影忍者》汉化截图2 《火影忍者》汉化截图3 《火影忍者》汉化截图4
《火影忍者》汉化截图5 《火影忍者》汉化截图6 《火影忍者》汉化截图7

自定义 Flv 播放器播放 Youtube 视频……

Youtube 自从在视频加入 Session 机制以后……
不仅直接下载已经成为往事……
而且即使你附带 Session 参数进行播放也仅仅只有几分钟的有效期……
(与此不同的是 Vlog 的 Session 方式……
它的时效长很多……)
这样一来得使用 Youtube 的官方的播放器……

由于我给 AnyMedia 使用内建播放器……
理所当然就只能支持几分钟的时效了……

AnyMedia 对 Youtube 视频的支持也失效了……
于是我昨天研究了一下如何继续使用自定义的 Flv 播放器来播放 Youtube 视频……
由于 Action Script 的 LoadVars 函式有跨域限制……
所以我选择通过 PHP 获取视频真实地址……
然后再通过 Flash 获取本地 PHP 提供的地址……
(至于为什么 PHP 需要获取两次视频地址……
原因是前一次页面发送了 Location Header ……
而似乎播放器不能处理报文头的转向信息……)

好歹终于可以播放了……
由于每次播放都必须通过建立远程连接来获取地址……
所以播放前得缓劲儿几十秒……

下面提供全部相关文件……
程序未加密未混淆……
希望您转载时保留俺的部落格地址……

原始地址:http://www.youtube.com/watch?v=iCTrSL9i1EM

演示:

《CountDown》 by Hyde

下载:
Box 下载: http://www.box.net/public/arkxmaufo4

知名 AJAX Toolkit 小结 ……

前言

说它们“知名”……
恐怕有些得归功于他们那“知名”的冠名者……

下面凉鞋根据自己的开发经验总结一下……
排名部分先后 ……
一家之言……
望同各位讨论切磋……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

Google Web Toolkit

1. 刚发布不久的 Google Web Toolkit ……
服务端语言使用了 Java ……
不过谷歌开发站台的 IP 似乎一直被 Ban ……
(真不知道 ZF 是怎么想的……)
好在其下载站台并没有被 Ban 我们可以直接下载……

主页:http://code.google.com/webtoolkit
下载:http://dl.google.com/webtoolkit/swt-3.1.1-gtk-linux-src.zip
http://dl.google.com/webtoolkit/swt-3.1.1-win32-win32-src.zip
演示:http://code.google.com/webtoolkit/documentation/examples/
点评:无(惭愧…… 凉鞋对 JAVA 一窍不通…… 不敢误人子弟……)

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

Spry Framework

2. 新近由 Adobe Labs 释出的 Spry Framework ……
近 3M 的大家伙……
好在 Docs 占了近 90% ……
真正的核心文件只有 100 多 K ……
个人试用了一下……
上手挺快……

主页:http://labs.adobe.com/technologies/spry/
下载:http://www.adobe.com/cfusion/entitlement/index.cfm?event=custom&sku=RC00210&e=labs_spry
演示:http://labs.adobe.com/technologies/spry/demos/
点评:使用简单…… 上手快……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

Yahoo! User Interface Library

3. 很早就释出的 Yahoo! User Interface Library ……
它不仅仅是 Ajax 的应用……
就跟其名称一样:主要应用于 UI 构建部分……
其中的 Calendar 控件我还应用到卡司开发中……
值得称道的是它提供的效果和 Yahoo! 本体的效果相同……
如果你细心完全可以制作出一模一样的站台出来……

主页:http://developer.yahoo.com/yui/
下载:http://sourceforge.net/projects/yui
点评:效果丰富…… 使用略显复杂……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

BackBase Ajax Development Framework

4. 相当著名的 BackBase Ajax Development Framework ……
要付美刀才能使用的商业框架……
好在有免费版本和 For Java 的试用版本……
整个站台都使用了 Ajax 效果……
如果你的浏览器使用了比较强的屏蔽插件的话(比如俺的 OTZ)……
效果将“惨不忍睹”……
于是不自然地就对这个牛逼轰轰的框架产生了怀疑…… (笑)
不过说实话……
无论是实现 Ajax 流程还是构建 UI ……
它都有不俗表现……
特别是实现代码特别简单……
(PS: 商业版电驴上有下载……
虚伪一下:请大家支持正版!!!)

主页:http://www.backbase.com/
下载:http://www.backbase.com/download/Backbase_Community_Edition_3.1.4.zip
http://www.backbase.com/download/getting_started.pdf
演示:http://www.backbase.com/demos/explorer
点评:使用简单…… 效果丰富……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

Script.aculo.us

5. 我个人比较中意使用的 script.aculo.us ……
一个羽量级的开发包……
构建在 Prototype JavaScript library 之上……
可以实现很多诸如自动完成、拖放、表格排序等效果……
在凉鞋开发购物站台时发挥了不可替代的作用……
收到客户的好评……
为了答谢开发者……
凉鞋所能做的只是送几个 IP 过去了……
呵呵

主页:http://script.aculo.us/
下载:http://script.aculo.us/dist/scriptaculous-js-1.6.1.zip
演示:http://wiki.script.aculo.us/scriptaculous/show/Demos
点评:效果虽不多…… 但足够应用…… 开发也够简单……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

jQuery

6. 轻量代码 jQuery ……
前两天刚发现的一套工具……
还没来得及试用……
想来与其它工具也无异……
看了下示例……
也无甚新奇之处……
Prototype 都可以做到的东西……
就不多做介绍了……
呵呵

[2007-4-8]
我收回以上的话……
jQuery其实是很强悍的东西……

主页:http://jquery.com/
下载:http://jquery.com/dev/latest/jquery/jquery.js
演示:http://codylindley.com/blogstuff/js/jquery/
点评:无甚新奇…… 比较平庸……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

Prototype JS Framework

7. 超著名的 Prototype JavaScript library ……
这可不是 JavaScript 的 prototype ……
而是 Prototype 的 Javascript ……
(糊涂了?)
总之……
这个代码包大大简化了你使用 Javascript 进行开发的过程……
很多著名的 Javascript 程式就是构建在它之上……
可以说它是介诸 Javascript 和 程序之间的一条捷径……
因为不使用它你也可以开发出相同的功能……
但是使用它……
你的开发过程将变得非常简单……
(当然代价是你必须始终调用这个个头不算小的 Javascript 档案……)
而且我在开发中发现它的 Ajax 的 POST 方法对中文等语系支援不是太好……
经常还需要在服务端进行转码处理……
足以见得开发者对宽字符并不重视……
(不重视?老子还不用咧……)
所以俺宁可自己编写最原始的 Javascript 程式来达到自己需要的效果……

主页:http://prototype.conio.net/
下载:http://prototype.conio.net/dist/prototype-1.4.0.tar.gz
点评:提高编写效率…… 简化你的开发过程……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

Simple Ajax ToolKit

8. Simple Ajax ToolKit ……
一套整合了服务端的 Ajax 开发包……
包括 PHP、ASP 等……
个人认为没有什么用途……
毕竟现在大家都自己开发的服务端框架……
而我们所需要的可能只是 UI 层面的东西……
所以对于 Sajax 我并没有仔细测试……
只是看了一下 Demo 而已……

主页:http://www.modernmethod.com/sajax/
下载:http://www.modernmethod.com/sajax/sajax-0.12.tgz
http://www.modernmethod.com/sajax/sajax-0.12.tgz
演示:http://www.modernmethod.com/sajax/examples.phtml
点评:整合服务端…… 方便迅速构建小程序…… 不适合大站台使用

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

Rico

9. Rico ……
又一套构建于 Prototype JavaScript library 之上的 Ajax 框架……
说实话……
要不是我早碰到 script.aculo.usBackBase ……
我一定会选择 Rico ……
因为它使用起来实在很方便……
而且效果比较多……
而且个头比 BackBase 小……
够用就行嘛……
改天闲下来就开始全面改用 Rico 了……
呵呵

主页:http://openrico.org/
下载:http://jquery.com/dev/latest/jquery/jquery.js
演示:http://openrico.org/rico/demos.page
点评:效果多…… 使用简单…… 集大成者……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

PEAR::Package::HTML_AJAX

10. PEAR::Package::HTML_AJAX ……
不用多介绍吧?
搞 PHP 的谁人不知谁人不晓的 PEAR ……
不过很惭愧的是俺从来就没研究过 PEAR ……
梨子虽好还要看个人口味啊……
所以不便加以评论……
但是 PEAR 的口碑摆在这里……
所谓“虎父无犬子”……
(哪儿来这么些个歇后语……)
熟悉 PEAR 的哥们儿们就放心大胆的用吧……

主页:http://pear.php.net/package/HTML_AJAX/
下载:http://pear.php.net/get/HTML_AJAX-0.4.0.tgz
点评:不熟悉…… 不便评论……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

结语

本来还想写更多的……
后来发现很多都仅仅侧重于 UI 方面……
所以作罢……
这么多的工具……
其实大家只要选择一个自己喜欢的就好……
毕竟搞开发也只是一个熟练活儿……
经常换工具会影响开发进度……

凉鞋愿和各位继续探讨……
呵呵……

目录:

  1. 前言
  2. Google Web Toolkit
  3. Spry framework
  4. Yahoo! User Interface Library
  5. BackBase Ajax Development Framework
  6. Script.aculo.us
  7. jQuery
  8. Prototype JavaScript Library
  9. Simple Ajax ToolKit
  10. Rico
  11. PEAR::Package::HTML_AJAX
  12. 结语

JavaScript 版本语言包系统……

前言

AnyMedia 自从 3.0.0 版本附带了多国语言包……
昨天也收到 Oberguru 翻译的德文版本……
当然……
除了主体文件实现多语言还不够……
包括安装、升级文档在内的部分也得相应提供多语言才行……
为了赶在 3.5.1 释出之前实现文档的多语言系统……
于是到处寻找 JavaScript 版本的多语言系统……
未果……
使用 xml + xsl 的倒是找到一个……
可惜对浏览器支持太差……
恼火……
于是乎自己硬头皮写了一套……
不多说……
记录如下:

目录:

主程式

数小时的成品……
未成体系……
望各位见谅……
(函式、变数的名称沿用 AnyMedia 的……
大伙儿要使用请自个儿改……)

var is_regexp = (window.RegExp) ? true : false;
var anymedia = new Array;

// 所支援的数组,键是语系简写,值是语言包名称
var langs = new Array;
langs['de'] = 'German';
langs['en'] = 'English';
langs['zh-cn'] = 'Simplified_Chinese';
langs['zh'] = 'Traditional_Chinese';

// 语言选单
function langSelect()
{
document.write('

');
}

// 获取语言的函式,如果未传值就根据浏览器语系选择
function getLang(lang)
{
if (lang && langs[lang]) {
return langs[lang];
} else {
if (navigator.userLanguage) {
userLang = navigator.userLanguage.toLowerCase();
} else if (navigator.language) {
userLang = navigator.language.toLowerCase();
}
if (userLang && langs[userLang]) {
createCookie('anymedialang', userLang, 365);
return langs[userLang];
} else {
createCookie('anymedialang', 'en', 365);
return langs['en'];
}
}
}

// 获取短语,第一个参数必有,如果有多参数,则从第二个参数开始成为第一个参数的构成短语
function lang()
{
if (!arguments || arguments.length < 1 || !is_regexp) {
return false;
} else if (arguments.length == 1) {
document.write(anymedia[arguments[0]]);
} else if (arguments.length > 1) {
var args = arguments;
var str = anymedia[args[0]];
var re;
for (var i = 1; i < args.length; i++) {
re = new RegExp("%"+i+"\\$s", 'gi');
str = str.replace(re, anymedia[args[i]]);
}
document.write(str);
} else {
return false;
}
}

// 构造短语,第一个参数必有,如果有多参数,则从第二个参数开始成为第一个参数的构成短语
function construct_phrase()
{
if (!arguments || arguments.length < 1 || !is_regexp) {
return false;
}
var args = arguments;
var str = anymedia[args[0]];
var re;
for (var i = 1; i < args.length; i++) {
re = new RegExp("%"+i+"\\$s", 'gi');
str = str.replace(re, anymedia[args[i]]);
}
return str;
}

// 生成链接,本来无甚必要,为了方便则添加了
function add_link(url, str)
{
document.write(''+anymedia[str]+'');
}

// 设置 Cookie 值
function createCookie(name, value, days)
{
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}

// 读取 Cookie 值
function readCookie(name)
{
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++)
{
var c = ca[i];
while (c.charAt(0) == ' ')
c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length, c.length);
}
return null;
}

// 切换语言
function changeLang(name)
{
createCookie('anymedialang', name, 365);
var url = new String(window.location);
window.location = url;
}

// 读取语言文件
function loadLang(lang)
{
document.write('');
anymedia['language_id']=lang;
}


目录:

语言包

以下是语言包文件示例:

anymedia['name'] = '沙滩凉鞋';
anymedia['i'] = '我';
anymedia['x_is_x'] = '%1$s是%2$s';


以上定义了三个短语……
如何使用?
请往下看……

目录:

使用方法

现在教你如何使用……

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">










本例将输出一个语言选单,
还有一段短语 "我是沙滩凉鞋"。
当然啦,
加入你加入英文语言包就可以进行切换了……
我困了……
睡觉去了……

目录:

AnyBox?

AnyMedia Demo

这几天忙着手上一些事……
没时间更新……
不过每天都抽空在写 AnyMedia ……

昨天下了狠心……
将其更新至 3.0.0 版本……
修复了一批漏洞……
添加了一批功能……

昨天已经将 AnyMedia 作为本月的 Hack of the Month 候选插件提交了……
有老外评论:“this must be the hack of the Year”……
话虽如此……
不晓得本月的 Award 是否能评上呢……

另外……
关于本则日志的抬头……
实在是由于今天研究了太多 BOX 特效……
有名的 LightBox 就不说了……
但是居然还有“反义词”—— ThickBox ……
而且二者分别有各自的 Plus 版本……
LightBox Plus & ThickBox Plus
然后还有 Greybox ……

我已经在考虑是否自己也写一个类似的特效了……
名字就叫 AnyBox ……
呵呵……