shawind 发表于 2008-10-18 15:48:50

玩一下FLEX+RubyOnRails

只是想着,用这个组合来写WebGame或许会不错,所以就去试了一下。

1.装Ruby on Rails
因为我是懒人,所以用的是别人打包好的Rails环境InstantRails 2.0,下载地址在http://rubyforge.org/frs/?group_id=904
当然别忘把ruby\bin目录设为环境变量

2.装FLEX SDK 3.1
有点麻烦,去http://www.adobe.com/products/flex/flexdownloads/index.html下sdk
然后解压在某个合适的地方,再把sdk中的bin路径设为系统环境变量path。

3.创建一个新的Rails工程,就叫test
rails test

4.转到进入test目录中,安装weborb,装了这个东西后,ror可以和flash方便交换数据
ruby script/plugin install http://themidnightcoders.net:8089/svn/weborb

5.因为WebORB没支持ROR的forgery protection(不知道这个词怎么翻译),要手动去关一下。
在test的/config/environments/development.rb文件中加一行
config.action_controller.allow_forgery_protection = false

6.运行服务器,测试一下
ruby script/server
跑起来后,用IE之类的打开http://localhost:3000/examples/main.html就可以测试了。

到这里,只是把环境架好,跑起来而已,具体怎么能用这个写出游戏来,我还需要进一步的折腾。

参考文章:
Flex + Ruby on Rails Installation
Flex On Ruby on Rails

shawind 发表于 2008-10-19 11:41:38

今天又深入看了点。原来以为这样的方式能让ROR能在controllers里直接调用flash里的对像,现在看来,完全不是那么回事。Flash里的控制还是得用as来写,真麻烦啊。ror和ruby的优点全没发挥出来...

lw 发表于 2008-10-19 12:11:49

FLASH未有外置编译工具,通常须用自身IDE进行编译……

shawind 发表于 2008-10-19 15:11:09

也不一定要ide,如果写的游戏不大的话。
按上面设好flex的sdk后
写个Test.as

package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class Test extends Sprite
    {
      public function Test():void
      {
            hello();
      }

      public function hello():void
      {
            var tf:TextField = new TextField();
            tf.text = "Hello World!";
            this.addChild(tf);
      }
    }
}

然后编译

mxmlc Test.as

这样就成了。得到的Test.swf文件会比用mxml生成的要小得多。
当然,对于游戏一般都较大的swf文件来说,节省的大小也不能加快多少下载速度。

rednaxela 发表于 2008-10-23 23:53:26

既然是要在浏览器里装插件然后又想同时在浏览器和服务器端用Ruby,等IronRuby稳定了之后拿Silverlight 2作为客户端这边的目标平台搭配RoR在服务器端或许更有趣些。我用AS3写了一段时间代码后还是觉得很不爽,逃回C#去了……
页: [1]
查看完整版本: 玩一下FLEX+RubyOnRails