Flash遊戲製作(作个标记)
Flash遊戲製作小精灵儿童社区e!f!pWI:L[^[
小精灵儿童社区.f1g1@/v"N
小精灵儿童社区.f1g1@/v"N
原理:
|uE$E+z/?:{B0R0 1.把好玩的flash遊戲下載,
F$uO(|~%r8R6~0 2.然後把swf文件轉成fla文件,
@$gX"N,\2o?F0 3.進行修改,
0? N'}dL Vp0 4.發佈.
,nQi,Q%l0 小精灵儿童社区_#`1pv*y-e#N
軟件需求:
5[hnk|6K{1a0 1.SWFDECOMPILER (可在sothink http://www.sothink.com/product/flashdecompiler/download.htm 下載試用版, 或是在網上找綠色版本)
VE1n~HC/[[0 2.flash mx 2004或以上 (建議使用FLASH 8 版本)小精灵儿童社区C;[2w6a m0P0r
或
'N UP{!r0 swf quicker 2.5 或以上
rz6h3@xP7v"f \'Kl0
/[h(dm o|3T[0XS0 詳細說明:小精灵儿童社区(WMz#J}T`(?
(初學者,最好找一些比較簡單,容量較小的遊戲來改造.)小精灵儿童社区*\!F o n }?
O+vx J#]0 1.下載SWF檔
3uX!M.H"OuG]2?&^U0 可以使用SWFDECOMPILER內附的CATCHER協助.小精灵儿童社区 m~Xxx ` BB
或者使用flash viewer http://www.unhsolutions.net/Flash-Saving-Plugin/downloads.shtml 都是比較方便的.小精灵儿童社区[B0[CZcG6l
小精灵儿童社区d*d]3zs8Um
2.如何把swf轉成FLA文件小精灵儿童社区HliaQl
這裡有一些視象教學. http://ws3.wsps.tyc.edu.tw/sb2/07tools/swfdecompiler2005/小精灵儿童社区1k)Wr2m+R6r4d
其實安裝SWF-DECOMPILER後,在swf文件上按右鍵,選convert to fla便可以了.小精灵儿童社区 d7o!o!e |l0t$Td
在過程中,會問用什麼版本解譯,一般都選recommanded的一種.小精灵儿童社区?1H!W!K4R2`j,n`
小精灵儿童社区2M z[j@
3.測試轉好的FLA文件
\:K p&El0 轉好的fla文件,要先拿到flash8上嘗試發佈測試(按f12),如果發佈成功(沒有錯誤信息),遊戲正常,便可以進行下一步.
c"}Q0P"x?6?J0 以我經驗,有8成以上的swf都是正常可以轉成fla無誤的.小精灵儿童社区#E^0q ?#QmY\ e
但也有20%失敗,原因有兩個:
'Sj'\ WvP0 1.swf遊戲太舊,用了一些不支援的語句.此時需要自己除蟲,一般在出問題的地方上按一下f1便有說明檔了
I a(|K AQ[,A0 2.swf被保護了:有大約百分之一的swf被發布人使用了aso(Actionscrīpt Obfuscator)加了保護,防止別人反組譯. 這些swf就很難修改了.暫時只有放棄.
_khAd0 小精灵儿童社区:I2@I{rUB}Y+L
4.開始修改FLA文件小精灵儿童社区*VjyM4`@ |Mw
a. 在遊戲開始的地方導入資料
/ekaRT0 在第一影格加以下的actionscrīpt:
)p'z4x`Q'kT E0 小精灵儿童社区GI$|c(d5Z*c V7Z
function end(score, level, bonus, others) {
Ey6vzl7W$G9j0 nk_now = new Date();
$V O7_ I7~6a&l*`/t0 _root.sendLV.starttime = _root.nk_starttime;
A E3OOgr/w'O0 _root.sendLV.playedtime = Math.round((getTimer() - _root.nk_starttimer) / 1000);小精灵儿童社区dfa*N]*I N5]w
_root.sendLV.playertime = _root.nk_timediff + Math.round(nk_now.getTime() / 1000);
HY(E,tF'?kg%[!f0 _root.sendLV.fscore = score;小精灵儿童社区}/x"?\T^
_root.sendLV.level = level;小精灵儿童社区+A [ny M$];W
_root.sendLV.bonus = bonus;小精灵儿童社区o/Je]+E"d7ed/N4N3~
_root.sendLV.others = others + '- ' + Math.floor(_root.sendLV.playedtime / 60) + "分" + (_root.sendLV.playedtime % 60) + "秒";小精灵儿童社区0TG?M/Z FuZ
_root.sendLV.action = "swfrecord";小精灵儿童社区 Eg2B9Fiv_ }
_root.loadok = false;
@?;q[)vQ8[s0 _root.sendLV.sendAndLoad("plugins.php", _root.loadLV, "POST");小精灵儿童社区h G;H~R&^'z&kpC
_root.nk_money = Math.round(score / _root.nk_rate + bonus); // 用來顯示所得金錢
F4Z[1Qf:p v)OA0 if (_root.nk_money > _root.nk_bonuslimit and _root.nk_bonuslimit > 0) {
&M1fpw)[)]9c/M E/d0 _root.nk_money = _root.nk_bonuslimit;
r(q2U2ynW0 }小精灵儿童社区vMwY){.eb-\-j+L
}
}$yG)O `;IxTE0 System.useCodepage = true;
o6TG*I/GWH0 _root.sendLV = new LoadVars();
nAi,AD,w0 _root.loadLV = new LoadVars();小精灵儿童社区:kG#A:tu.^3J
_root.loadLV.onLoad = function(success) {
9UvU3aa}?$?0 if (success) {小精灵儿童社区5R6k(Dg.^v#s?Uh
if (this.disallow) {
:`Tf Q8eex9swAC0 getURL("plugins.php?p=nkflash&game=" + _root.sendLV.game);小精灵儿童社区#{?_!pFc.m1jbe
}
'V9BTVN|^!aZ0 nk_now = new Date();
-nHScICh\/P0 _root.nk_starttime = this.servertime;
kM7D-aX qb'_0 _root.nk_starttimer = getTimer();
|uE$E+z/?:{B0R0 1.把好玩的flash遊戲下載,
F$uO(|~%r8R6~0 2.然後把swf文件轉成fla文件,
@$gX"N,\2o?F0 3.進行修改,
0? N'}dL Vp0 4.發佈.
,nQi,Q%l0 小精灵儿童社区_#`1pv*y-e#N
軟件需求:
5[hnk|6K{1a0 1.SWFDECOMPILER (可在sothink http://www.sothink.com/product/flashdecompiler/download.htm 下載試用版, 或是在網上找綠色版本)
VE1n~HC/[[0 2.flash mx 2004或以上 (建議使用FLASH 8 版本)小精灵儿童社区C;[2w6a m0P0r
或
'N UP{!r0 swf quicker 2.5 或以上
rz6h3@xP7v"f \'Kl0
/[h(dm o|3T[0XS0 詳細說明:小精灵儿童社区(WMz#J}T`(?
(初學者,最好找一些比較簡單,容量較小的遊戲來改造.)小精灵儿童社区*\!F o n }?
O+vx J#]0 1.下載SWF檔
3uX!M.H"OuG]2?&^U0 可以使用SWFDECOMPILER內附的CATCHER協助.小精灵儿童社区 m~Xxx ` BB
或者使用flash viewer http://www.unhsolutions.net/Flash-Saving-Plugin/downloads.shtml 都是比較方便的.小精灵儿童社区[B0[CZcG6l
小精灵儿童社区d*d]3zs8Um
2.如何把swf轉成FLA文件小精灵儿童社区HliaQl
這裡有一些視象教學. http://ws3.wsps.tyc.edu.tw/sb2/07tools/swfdecompiler2005/小精灵儿童社区1k)Wr2m+R6r4d
其實安裝SWF-DECOMPILER後,在swf文件上按右鍵,選convert to fla便可以了.小精灵儿童社区 d7o!o!e |l0t$Td
在過程中,會問用什麼版本解譯,一般都選recommanded的一種.小精灵儿童社区?1H!W!K4R2`j,n`
小精灵儿童社区2M z[j@
3.測試轉好的FLA文件
\:K p&El0 轉好的fla文件,要先拿到flash8上嘗試發佈測試(按f12),如果發佈成功(沒有錯誤信息),遊戲正常,便可以進行下一步.
c"}Q0P"x?6?J0 以我經驗,有8成以上的swf都是正常可以轉成fla無誤的.小精灵儿童社区#E^0q ?#QmY\ e
但也有20%失敗,原因有兩個:
'Sj'\ WvP0 1.swf遊戲太舊,用了一些不支援的語句.此時需要自己除蟲,一般在出問題的地方上按一下f1便有說明檔了
I a(|K AQ[,A0 2.swf被保護了:有大約百分之一的swf被發布人使用了aso(Actionscrīpt Obfuscator)加了保護,防止別人反組譯. 這些swf就很難修改了.暫時只有放棄.
_khAd0 小精灵儿童社区:I2@I{rUB}Y+L
4.開始修改FLA文件小精灵儿童社区*VjyM4`@ |Mw
a. 在遊戲開始的地方導入資料
/ekaRT0 在第一影格加以下的actionscrīpt:
)p'z4x`Q'kT E0 小精灵儿童社区GI$|c(d5Z*c V7Z
function end(score, level, bonus, others) {
Ey6vzl7W$G9j0 nk_now = new Date();
$V O7_ I7~6a&l*`/t0 _root.sendLV.starttime = _root.nk_starttime;
A E3OOgr/w'O0 _root.sendLV.playedtime = Math.round((getTimer() - _root.nk_starttimer) / 1000);小精灵儿童社区dfa*N]*I N5]w
_root.sendLV.playertime = _root.nk_timediff + Math.round(nk_now.getTime() / 1000);
HY(E,tF'?kg%[!f0 _root.sendLV.fscore = score;小精灵儿童社区}/x"?\T^
_root.sendLV.level = level;小精灵儿童社区+A [ny M$];W
_root.sendLV.bonus = bonus;小精灵儿童社区o/Je]+E"d7ed/N4N3~
_root.sendLV.others = others + '- ' + Math.floor(_root.sendLV.playedtime / 60) + "分" + (_root.sendLV.playedtime % 60) + "秒";小精灵儿童社区0TG?M/Z FuZ
_root.sendLV.action = "swfrecord";小精灵儿童社区 Eg2B9Fiv_ }
_root.loadok = false;
@?;q[)vQ8[s0 _root.sendLV.sendAndLoad("plugins.php", _root.loadLV, "POST");小精灵儿童社区h G;H~R&^'z&kpC
_root.nk_money = Math.round(score / _root.nk_rate + bonus); // 用來顯示所得金錢
F4Z[1Qf:p v)OA0 if (_root.nk_money > _root.nk_bonuslimit and _root.nk_bonuslimit > 0) {
&M1fpw)[)]9c/M E/d0 _root.nk_money = _root.nk_bonuslimit;
r(q2U2ynW0 }小精灵儿童社区vMwY){.eb-\-j+L
}
}$yG)O `;IxTE0 System.useCodepage = true;
o6TG*I/GWH0 _root.sendLV = new LoadVars();
nAi,AD,w0 _root.loadLV = new LoadVars();小精灵儿童社区:kG#A:tu.^3J
_root.loadLV.onLoad = function(success) {
9UvU3aa}?$?0 if (success) {小精灵儿童社区5R6k(Dg.^v#s?Uh
if (this.disallow) {
:`Tf Q8eex9swAC0 getURL("plugins.php?p=nkflash&game=" + _root.sendLV.game);小精灵儿童社区#{?_!pFc.m1jbe
}
'V9BTVN|^!aZ0 nk_now = new Date();
-nHScICh\/P0 _root.nk_starttime = this.servertime;
kM7D-aX qb'_0 _root.nk_starttimer = getTimer();
