Category Archives: Development

AS3在TextField属性htmlText字符中加入链接的换行问题

昨天实现一个功能时,遇到一个问题:我用AS3在xml文件中获取一段文本(文本中包含链接),将文本赋值给一个TextField对象的htmlText属性,这时候会发现被链接的单词或字符的首尾会被分行,也就是说被链接的单词会被单独置为一行。 解决办法: 把字符置于xml的CDATA标签内(由 <![CDATA[ 开始,由 ]]> 结束),让字符不被AS3的xml解析器解析。 下面是CDATA标签的说明: CDATA标签为不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。 在 XML 元素中,”

KiTTY常用设置

KiTTY是基于Putty的改进版,加入了一些实用特性,比如记住密码自动连接等,下面是几个常用的设置,记录一下: 编码设置: Window -> Translation -> Remote character set : UTF-8 自动登录设置: Connetcion -> Data -> Auto-login username : root Connetcion -> Data -> Auto-login password : password 在vim中使用小键盘输入数字的问题解决: Terminal -> Features 里,找到 Disable application keypad mode ,选上即可。 保持连接状态: Connection … Continue reading

Windows下用VirtualBox搭建Ubuntu环境做Ruby on Rails开发

本文目的是实现在VirtualBox中运行Ubuntu Server来做为Ruby on Rails的环境,然后通过Samba来共享Ubuntu下的文件供Windows编辑,用KiTTY通过SSH来连接Ubuntu Server进行系统常规操作。另外,关于如何在Ubuntu中搭建Ruby On Rails环境,请参考《在Ubuntu Server下搭建Ruby on Rails + MongoDB + Redis环境》,软件的安装过程就不再详细说明,请自行Google(如:Ubuntu Server 安装、VirtualBox安装)。

Rails3下Carrierwave+Gridfs强制下载

当用Carrierwave+GridFS存储媒体文件并只提供下载时,如果只是用@model.file_url的方式显示下载连接,像图片、视频、PDF文件会默认被浏览器直接打开浏览。 如果文件是直接存储到硬盘上时,可以使用send_file方法,悲剧的是,我的媒体文件存储在GridFS里,用send_file方法试了半天也没成功。(我在ruby-china的求助帖),总是ActionController::MissingFile。 通过对GridfsController的调试,发现用send_file方法时并没有调用serve方法,(关于我的环境搭建见《Rails3下使用MongoDB做为数据库并使用GridFS保存文件》),知道的同学麻烦请告之。 于是就在ApplicationController里写了一个download_file方法,实现原理和GridfsController中的serve方法一样,用来供前后台调用,强制下载Gridfs中的媒体文件。

Box2D静态刚体旋转

这是2010年4月15号在茶馆儿发的一篇日志,现在被找回来了,在博客里存档一下。 如标题,在没遇到这个问题之前通常是用转轴把刚体固定在某一点,然后利用扭矩来实现刚体旋转,但使用转轴的问题在于,如果一个动态刚体掉落过程中撞到这个利用转轴转动的刚体时,这个刚体会发生微小的转动,虽然这属于正常的物理特性,但对于某些游戏来说对体验的影响还是不小的,Google了N多资料,试过N多种方法,最终给Box2d的源文件加入了个自定义方法,但总算是把问题解决了。

用Rake脚本实现将MySQL数据导入MongoDB及GridFS

接上回《Rails3下使用MongoDB做为数据库并使用GridFS保存文件》,这次需要将MySQL表中的数据导入MongoDB中,并将其中一个字段的内容写入文件并将文件保存到GridFS中,使用Rake脚本来实现会方便很多,下面是一个简单的MySQL表的结构(数据库和表名都是demo):

关于AS3域名锁定(sitelock)防止跨站引用的解决办法

问题描述:以前在给游戏加sitelock时,都是使用 loaderInfo.loaderURL 或者 root.loaderInfo.url 的方式来获取swf的url,然后进行判断,虽然可以防止swf在别的域名下运行,但别的域名可以通过在页面中直接引用swf来在页面中进行显示。 解决方案:使用 ExternalInterface.call 来执行一段js代码,获取swf所在页面的url,如果swf的url和页面的url都处在同一个域,那么 ExternalInterface.call就可以正常获取页面的url,否则会返回空,从而结合之前的方法共同验证就可以保证swf文件既不会在别的域名下运行,也不会在别的域名下被引用运行。