摘要:flash 拉霸教學 Part1(超簡單喔!)
為什麼會是拉霸呢?這個歷久不衰的小遊戲,
SV也一直以為上網找就有一拖拉庫的程式或範例。
但想不到,SV又錯了!!!!(繼上上一篇的點兩下與上一篇的Android圖片改位置)
為了SV最心愛的姊姊(姊姊到底要SV做多少遊戲呀XDD)的寓教於樂,
SV想做類似RandomLife的單行拉霸機。
可是網上都是三行而且超複雜的,SV對google大神無奈,只好做最簡單的拉霸機(反正是給小朋友玩←誤)。
本來想要把讀者都當新手的教,但發現會很佔版面(圖片),所以就用有一點點基礎到進階的教學了。
首先的思維是這樣:循環的圖片。
SV認為,拉霸機最難的就是中間的卷軸霸的動畫,但學了SV這個小技巧,C#又可以依樣畫葫蘆了~(SV是有多喜歡C#)
先從只有一個開始。只要一個會了,其他兩個就是用frame取多寡來產生速度快慢的錯覺~
那麼開始囉!!!!
請先準備下面的幾個元件~
也就是一個框框當做人的眼睛看到的拉霸中間部分,然後複製後中間加入你喜歡的圖案,並且將他們合成元件~(SV以四種造型做簡單示範)
最後是代表拉霸的按鈕(你也可以做成動畫按鈕,這樣移動到按鈕上可以有"準備拉的動畫"和按下後的拉霸機關造型,因為不是介紹按鈕製作,所以這邊就用最簡單的按鈕囉~)
再來,你要幫按鈕取名字~依照C#慣例,SV會把它取名為btnStart( 這是習慣啦,也就是變數前面加個型態讓你知道他其實是什麼)
然後可以看一下,場景一,SV把layer用成這樣:btnStart, 0, 3, 2, 1, 0, frame。
千萬不要馬上用成這樣!因為還會改變,這只是給你看layer大神的好處!(這就是C#很難做到的了Orz)
也就是這樣就不會互相干擾啦~
其實btnStart和frame應該排在一起,讓"不會有動畫"的layer放一起,會動的以及需要group(群組)的放一起。
因為是教學,SV沒做到這點=3=
接著在最上面插入可愛的as層,要coding囉~(別怕,只有幾行)
因為場景一的功用只是"展示",所以他不用做動畫。你只要想像使用者按下按鈕後,會跑到一個不斷動畫或主要動畫的部分即可。
因此等等就會有場景2囉~(當然,也是可以寫在一塊,不分場景,但SV覺得場景分開有好處,就分開囉~←什麼理論??)
按下F9就可以在加入關鍵影格的影格加入Actionscript!
stop();
btnStart.addEventListener(MouseEvent.CLICK,StartSlot);
function StartSlot(event:MouseEvent)
{
gotoAndPlay(1,"Scene 2");
}
(以上竟然沒有actionscript, 只好用javascript了)
就是一開始停止(其實也可以不用啦),按下按鈕才會到有動畫的場景二~
於是新增個場景二囉~
因為網上還真的有人在找如何新增場景→SV就是一個,於是順便教一下:
然後就跟元件的新增類似的增加場景二吧!雖然發現是因為我用的是CS4所以跟CS3不太一樣才找不到場景Orz
基本上場景二的一開始跟場景一差不多,
拉霸動畫的小技巧就是:
有人stand by!
就像這樣:
1
0
3
零的上面是一,一的上面是二,二的上面是三,最後再回來零在三的上面。
所以先這樣:
注意第一格和第六格的layers,
一開始就是0在1的上面,而btnStart(按鈕)與frame(那個框框)都是不會動的,可以無限延長~(就類似背景)唉,這就是沒規劃的下場Orz(兩個應該並排圖層)
再來,這就是最經典的步驟了!因為不管你之後有幾個造型,都是照著做!
在6的影格差入關鍵影格,然後把0移動到像是離開螢幕的位置(就像離開大家的視線的位置),
而1就是stand by的那位,就這樣登場吧!至於2,因為現在是1做為登場人物,2就在1的上面stand by囉~
再來,就是將1~6做傳統補間(classic)動畫,就可以有感覺囉~
依照這樣的動作,你可以作到0→1,1→2,2→3,
就像這樣:
最後就是回到0的圖層,將他stand by到3的上面,就等於回到影格1的長相囉~
咦,如果你就這樣,會發現F12後,圖片只跑一次?沒有循環耶!
於是as2誕生了!
一樣是在最上面加入as圖層,在最後一個影格插入關鍵影格,按F9後,輸入以下as:
gotoAndPlay(1);
什麼,就這樣!沒錯,就一行,讓他回到影格1,這樣他就會不斷跑了~
SV看到可以插入flash好開心呀,
然後SV似乎覺得很失望Orz(原本都是用MegaSWF,但現在不太會用了),因為不知道怎麼跑出flash效果Orz
總之,效果就是:
按下按鈕後,就開始跑卷軸囉~
你說那怎麼停止?就是設timer囉~
之後的教學就是把timer加進去囉~(因為C#而習慣這樣叫呀XDDDDDDDD總之就是類似timer的東西)
timer到,畫面停到關鍵影格,然後設亂數(比方2就表示停在影格10,1表示停在影格5)。這樣,最簡單的一格拉霸就完成囉~
然後你把這一組作成群組,複製兩個,就成了三個的拉霸囉~~~
依此類推你可以作很多種造型的拉霸^^
怎樣,真的不難吧!!!!(等SV把timer部分作出來?)
我就不明白為什麼這個網路上很少找到,SV真的太不會使用關鍵字還是?SV還比較習慣用英文搜尋,竟然也找不太到,
不然就是找到遊戲或要錢的程式碼......
後來意外發現有應徵作拉霸機的公司,聽說兩萬元一個project......
不過SV不喜歡外包(也沒作過),因為SV比較喜歡寫自己的小遊戲XDDDD(而且其實SV真的覺得自己的程式能力還是很低...)
什麼,你說作到這邊旁邊stand by的都被看到了?
是呀,所以你之後要做一個代表"機台"的圖片,有點類似國字的"回",回中間的口就是你的單一捲筒。
蓋住stand by與離場的角色~
這樣就可以偷吃步了(突然又想起第一篇的點兩下XDDDD)
反正真正的拉霸機也是這樣,所以我們做的就是捲軸的部分。最後再用象徵機台的圖片蓋上去。
然後SV就等姊姊的詞彙了,本來想一舉完成它,但是姊姊竟然說詞彙要一段日子= =|||
(是說準備詞彙有比寫程式難嗎?←忍不住抱怨)
所以明天就繼續培根貓囉~(Android小遊戲製作)
話說SV又想到小遊戲靈感,所以用要用C#小遊戲了~
等幫姊姊差不多就可以做了~
什麼,為什麼是又?
因為SV第一個"像樣"的遊戲是C#寫的,然後RPG大師與base等等都做得比較好的拙作:
http://code.google.com/p/only-two-and-no-three/
因為是從我自己的小漫畫出來的作品,因此就.....阿哈哈很簡單Orz
不過將來的C#或其他小遊戲都是放在google code就是。
希望有原始碼的務必跟SV說,SV很歡迎!!!!!
(因為總覺得SV的程度很低,應該沒人要Orz有人要是SV的榮幸呀!!!!!)
然後附上原始檔~
http://code.google.com/p/flash-slot-machine-test/downloads/detail?name=slot.fla&can=2&q=#makechanges