http://blog.sina.com.cn/yyy98[订阅]
个人资料
分类
    内容读取中…
博文
演示文件源码下载http://kerryas.googlecode.com/files/swfs_communication.rar

假设有一个主 SWf 名为 main.swf 加载一个名为 game.swf 的游戏模块:
1. main 里面使用 Loader 将 game.swf 加载进来;
2. 在 game 中定义 public function moveBall(speed:Number) 方法,用于开始游戏;
3. 在 main 里面使用类似 loader['content'].moveBall(speed) 的语句调用 game.swf 里面的方法;
4. game.swf 与 main.swf 通信的方法,可以使用 dispatchEvent 方法与 main.swf 通信,也可以继续使用上述方法。

下面请看示例:
1. 首先创建被调用的 game.swf:
package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.system.Security;

    public class Game extends Sprite {
      
SVN Checkout or Update:http://kerryas.googlecode.com/svn/trunk/KerryLib

版本 0.2 更新内容
com.kerry.effect
    -- Earthquake
    -- PerlinDistort
    -- Rippler
    -- StaticReflection
com.kerry.util
    -- ArrayUtil
    -- ClassUtil
    -- MathUtil
    -- ObjectUtil
    -- StringUtil


■ com.kerry.effect#Earthquake.as
package com.kerry.effect {
    import flash.display.DisplayObject;
    import flash.events.TimerEvent;
    import flash.utils.Timer;
   
   
    public clas
1. 内容介绍及 FlashDevelop 安装使用

2. Flash 与后台(Java, PHP, Rails)通信及 HttpWatch 使用

3. Json 数据交换、AS3corelib 以及 Alcon 调试工具

    KerryLib 是基于 ActionScript 3 的开源项目,内容涉及功能代码类、特殊效果类、工具类、组件类等(内附 API 文档及使用示例 demo),作者 FL 车在臣。

    KerryLib (源码及演示程序)svn 地址:http://kerryas.googlecode.com/svn/trunk/KerryLib

 

KerryLib v0.1 更新内容

com.kerry.effect

    -- Light

    -- PowerFilters

com.kerry.page

    -- PageSwitch

com.kerry.util

    -- DateUtil

KerryLib v0.1 部分 demo 程序效果:

第十六章 改进控制器和视图

第2版的 R4RMusic 的控制器动作及相应模版总结

控制器

描述

动作方法名

主模板

Customer

登录

注销

注册一个新帐号

给购物车添加一个版本

查看购物车

结帐(购买完毕)

login

logout

signup

add_to_cart

view_cart

check_out

main/welcome.rhtml

main/welcome.rhtml

main/welcome.rhtml

customer/view_cart.rhtml

customer/view_cart.rhtml

cu

第十五章 通过编程改进 ActiveRecord 模型

一、软模型改进与硬模型改进

1. 当在 ActiveRecord 模型类中编写一个新方法时,可以把方法区分为:被动方法(即那些仅仅获取数据并返回数据的方法)和主动方法(即那些生成新的数据结构的方法)

class Composer < ActiveRecord::Base

  has_many :works

 

  # 软改进

  def editions

    works.map {|work| work.editions }.flatten.uniq

  end

 

  # 硬改进

  def whole_name

    first_name + ' ' +

    (if middle_name then middle_name + ' ' else '' end) +

    last_name

  end

end

 

2. 软模型改进与硬模型改进:本质区别

本质区别在于:软改进描述给 ActiveRecord 提供辅助;硬改进涉及产生新的数据。

 

二、模型的软编程改进

1. 通过软改进细化 Work 模型

(1)哪些发行商发行过该作品的版本

def p

第四部分 结合 Ruby 和 Rails

第十四章 再次为 R4RMusic 应用领域建模

一、跟踪 ActiveRecord 模型实例的功能

1. 模型实例功能概览:Rails 模型实例的功能来源于四个地方

■ 通过实例所属的类继承,该实例可以调用所属类的父类(即 ActiveRecord::Base 或该类的另外一个后代)的实例方法。

■ 根据相关的数据库表的字段名自动生成的读写方法(accessor)和其它方法。举例来说,由于数据库表 composers 中有 title 字段,所以 Composer 的对象具有 title 和 title= 方法。

■ 在使用关联指令时,半自动生成的读写方法和其它方法。例如,在 Work 类中的 has_one: composer。

■ 通过编程添加的任意多个实例方法,它们根据需要被添加到模型定义文件中。

 

2. 继承的和自动获得的 ActiveRecord 模型实例行为

(1)ActiveRecord 对象的两种存在方式

ActiveRecord 和典型的 Ruby 对象之间是有差别的,ActiveRecord 对象有两种存在方式:一方面,它是一个 Ruby 类。另一方面,它是一个句柄,可以用它来直接操作数据库记录。

 

ActiveRecord 的

第十三章 Ruby 动态特性

一、单例类的位置和角色

1. 单例方法在何处定义

对象的单例方法定义在对象单例类中。每个对象实际上有两个类:

■ 多个对象实例共享的类

■ 单例类

可以将某个对象的单例类看作是它独有的方法保护区,仅属于该对象,其它对象不能分享

obj = Object.new

def obj.talk

         puts 'Hi!'

end

obj.talk

 

2. 直接检查和修改单例类

单例类是匿名的,可以使用 class 关键字的一个特殊形式来完成,class 后面跟一个常量

class C

         # method and constant definitions here

end

 

使用以下面特殊记法来打开单例类的定义体

str = 'I am a string'

class << str

         def twice

                   self + '

第十二章 正则表达式和基于它的字符串操作

一、什么是正则表达式

正则表达式可用于:在字符串中扫描某个模式的多次出现,进行字符串替换操作,基于匹配分界符将一个字符串分割为多个子字符串。

 

二、编写正则表达式

1. 正则表达式的字面构造方法

(1)字面构造方法就是一对正斜杠://

(2)可以从两个方向使用 match:正则表达式对象和字符串对象都可以响应 match方法

puts 'Match!' if /abc/.match('The alphabet starts with abc.')

puts 'Match!' if 'The alphabet starts with abc.'.match(/abc/)

 

Ruby 还提供了模式匹配操作符 =~(等号加波浪号)

puts 'Match!' if /abc/ =~ 'The alphabet starts with abc.'

puts 'Match!' if 'The alphabet starts with abc.' =~ /abc/

 

(3)match 与 =~ 的主要不同之处在于匹配时的返回值不同:

=~ 返回匹配开始处的字符在字符串中的数值索引,而 match 返回 MatchData 类的实例

>> 'The alphabet starts with abc' =~ /abc/

=> 25

>> /abc/.ma

第十一章 集合、容器和可枚举性

一、数组和散列的比较

数组是有序的对象集合,有序意味着可以基于连续的数字索引从集合中选择对象。

散列是无序的集合,这意味着不能说第一/第二个或第N个元素是什么。散列将对象以成对的方法存储起来,每一对有一个键和一个值,通过键来索引值。散列在其它语言中有时也叫字典或联合数组。

 

二、使用数组

1. 创建一个新数组

a = Array.new

a = []

a = [1,2,'three',4, [] ]

 

用 Array.new 的好处是,允许指定数组的大小,并可对其内容进行初始化

>> Array.new(3)

=> [nil, nil, nil]

>> Array.new(3,'abc')

=> ['abc', 'abc', 'abc']

 

甚至可以为 Array.new 提供代码块

>> n = 0

=> 0

>> Array.new(3) { n += 1; n * 10 }

=> [10, 20, 30]

 

2. 插入、检索和删除数组元素

(1)一次读写多个数组元素

>> a = ['red','orange','yellow','purple','gray','indigo','violet']