作者aquarianboy (我是没牌的营养师!)
看板Flash
标题Re: [问题] 由外部资料夹引入程式?
时间Wed Apr 25 23:06:00 2007
※ 引述《jing007 (呜~合购版让我变肥肥肥猪)》之铭言:
: 亲爱的同学寄给我一个mp3的flash档案
: 但解开後只有场景有程式 此程式中其他地方完全找不到任何程式
: 後来想想奇怪怎解开後还一堆资料夹 就查看了一下
: 一堆.as的档案....这好像是一堆用宣告物件的方式去写里面的程式
: 例如:某段.as档内的某段类别宣告如下:
: class com.jeroenwijering.players.CallbackView extends AbstractView
: {
: ...一堆变数宣告...
: }
: 而CallbackView及AbstractView 又是另一个.as的档案名称
: 於是我去查了一下CallbackView及AbstractView
: 但是…里面是空的 空的那干麽去宣告又继承的啊?=_______=||| 还是别有用意?
: 我是想请教这种写法是什麽?是比较针对程式设计师来写的写法吗?
: 大约要如何去对应到程式是如何跑的?
: 真得完全都是程式设计的写了…有没有相关书籍可以参考,谢谢~
我猜你的这个mp3 player是从这里下载的 :)
http://www.jeroenwijering.com/upload/flash_mp3_player.zip
在这里extends的确是"继承"没错
大概瞄了一下,这个AP应该是采用design pattern里的MVC pattern来设计的
(不过也有人觉得MVC不算一种pattern,MVC = Model-View-Controller)
这种程式的解读其实还是有门道的
基本上对OOP要有一定程度的了解会比较看得懂
当然如果知道design pattern是在干嘛的话,会更快上手 :)
大概可以从mp3player.fla的从这行开始:
var mpl = new com.jeroenwijering.players.MediaPlayer(this.player);
所以下一个应该是往com/jeroenwijering/players/,找MediaPlayer.as
打开MediaPlayer.as
class com.jeroenwijering.players.MediaPlayer extends AbstractPlayer
MediaPlayer类别继承自AbstractPlayer类别
所以除了看看底下的程式码之外,再往上找父类别AbstractPlayer.as
为什麽要找父类别?
public function MediaPlayer(tgt:MovieClip,fil:String) {
super(tgt,fil);
};
它的建构子呼叫了它的父类别的建构子..
看一下AbstractPlayer.as
import com.jeroenwijering.players.*;
import com.jeroenwijering.feeds.*;
class com.jeroenwijering.players.AbstractPlayer implements FeedListener
AbstractPlayer实作了FeedListener这个interface(注意,不是extends)
这个FeedListener.as是放在com/jeroenwijering/feeds里
interface com.jeroenwijering.feeds.FeedListener {
function onFeedUpdate();
}
意思就是说implements自这个interface的类别,需要实作onFeedUpdate()这个方法
以此类推.. :)
至於什麽时候用extends,什麽时候用implements? 这两个有什麽不同?
又是罗嗦的一长篇了 :)
对这个有兴趣的,有几本书可以推荐给大家
1. 深入浅出设计模式 (Head First Design Patterns)
http://tinyurl.com/2e4a68
原文书已是口碑很好的书,中文翻译则是由当初红极一时卖鸡排的蔡老大执笔的
我觉得写得很不错
2. Object-Oriented ActionScript For Flash 8
http://www.friendsofed.com/book.html?isbn=1590596196
好像没有中文版,这是我最近坐捷运时候常会拿在手上翻的书
翻着翻着就睡着了,催眠效果一流 :)
3. Advanced ActionScript 3 with Design Patterns
http://tinyurl.com/ysudt7
这本天珑有卖,但好薄一本,卖一千多,买不下手..:)
供你参考 :)
--
小的不是科班学生,这些都是自己乱看书学来的
有错请指正罗 :)
--
http://www.eddie.com.tw/blog/
http://www.eddie.com.tw/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.172.127
1F:推 jing007:谢谢~ 04/26 11:13