有趣的Axure案例:釣魚游戲的設(shè)計
學(xué)習(xí)Axure的時候覺得中繼器與函數(shù)很枯燥?本文教你一個趕走枯燥的方法——設(shè)計游戲!讓你感覺學(xué)習(xí)Axure原來可以這么有趣!
Axure是產(chǎn)品經(jīng)理工作中最重要的軟件之一,除此之外對PS、Visio也應(yīng)該有所了解。不過就產(chǎn)品經(jīng)理而言,Axure是最有代表性的軟件。大多數(shù)人都可以做到使用Axure畫一些簡單的原型圖,但是到了交互方面則捉襟見肘,中繼器和函數(shù)是不少產(chǎn)品經(jīng)理面前的兩座大山。
有趣的內(nèi)容能夠減少人在學(xué)習(xí)中的抵觸心理,Axure的函數(shù)無疑是十分枯燥的,且一般用不到的特點容易讓人沒有動力進行學(xué)習(xí)。這種情況下,自己制作一些有意思的東西對于技能的鍛煉以及娛樂身心都有很大的益處。
一、制作結(jié)果
主要交互:
- 小魚會來回循環(huán)的游泳且會轉(zhuǎn)身;
- 小魚的速度實際上是隨機的,即不是勻速運動;
- 可以設(shè)置難度完成小魚速度的切換;
- 點擊魚鉤可以進行捕魚,捕捉成功后得分且小魚將會回到原來的位置。
體驗地址:點擊此處
二、制作方法
1.用Axure畫背景元件
這一步很簡單,圖片就是由幾個矩形,一個橢圓,一個小魚組成的。其中值得注意的是小魚的圖片需要png不帶背景的圖片,否則會有一個背景框的存在。
png的制作方式很簡單,可以在網(wǎng)絡(luò)上下載一個背景比較純凈的小魚圖片,然后使用PS進行摳圖,最后去掉背景頁然后保存為png格式即可。
因為小魚是需要轉(zhuǎn)身的,所以可以將方向相反的小魚分別儲存為動態(tài)面板的兩種狀態(tài)。當(dāng)然,圖片的水平翻轉(zhuǎn)需要PS的幫助。這樣,只要改變動態(tài)面板的狀態(tài)就可以實現(xiàn)小魚的轉(zhuǎn)身。
2.魚鉤動作
魚鉤動作的設(shè)置如上圖所示,魚鉤是由魚鉤以及魚線兩部分組成的,魚鉤的動畫為移動,而魚線的動畫則為尺寸的改變。因為還需要收回,所以移動后再設(shè)置反向的移動即可。這一步的觸發(fā)方式設(shè)置為鼠標(biāo)點擊魚鉤。
3.釣魚動作
通過上述兩步可以實現(xiàn)釣魚的動作。這里主要的知識點是接觸操作,可以在條件中進行設(shè)置,被掉的魚運動是垂直的,故而其移動的坐標(biāo)中x值為0。
此處設(shè)置的難點是:注意移動設(shè)置中的相對位置和絕對位置,如果不慎弄反可能導(dǎo)致交互出錯。
到這里看起來已經(jīng)實現(xiàn)很多功能了,但實際上還差很多,比如現(xiàn)在的魚是不動的,且將魚掉走之后就沒有可以掉的魚了,游戲無法繼續(xù)進行。
4.全局變量的定義
接著為了實現(xiàn)魚的往復(fù)運動,得分的計算,以及難度調(diào)節(jié)功能,需要設(shè)置三個全局變量。
- dx:應(yīng)用于方向的改變;
- score:用于記錄游戲得分;
- level:用于游戲等級的調(diào)節(jié)。
此處可以先將其默認(rèn)值設(shè)定一下,dx為1即不反向,score為0即初試分?jǐn)?shù)是0,level為1即初始難度為1。
5.魚的移動
魚的移動是水平不勻速移動,不勻速為了增加釣魚預(yù)判的難度。其設(shè)置方式如上圖所示,其中用了隨機函數(shù)math.random。dx是為了改變其方向,默認(rèn)值為1,level則是為了改變其難度,默認(rèn)值同樣也是1。
6.魚的轉(zhuǎn)身
魚不可能朝向一個方向一直運動下去,這樣無法完成游戲,所以可以設(shè)置其邊界條件,讓其超出邊界的時候dx的數(shù)值變?yōu)?1實現(xiàn)反向移動。此外還需要在邊界的時候修改魚的狀態(tài),否則就會出現(xiàn)魚是倒著游泳的樣子。
反向由dx數(shù)值的改變來完成,而魚的狀態(tài)則是由state的改變來完成。
7.魚的復(fù)位以及得分判定
這是比較有難度的地方,為了能夠讓游戲成為無限模式,魚被釣走之后必須回到原來的地方且分?jǐn)?shù)增加。被掉走的魚不能夠在魚鉤上繼續(xù)移動。
因此設(shè)置如上圖所示,其中dx為0限制了繼續(xù)移動,移動魚to(440,398)讓魚可以復(fù)位,設(shè)置dx為1、yu為state1讓魚可以繼續(xù)游動,score相關(guān)則是統(tǒng)計用戶的游戲得分。
三、可以改進的地方
本游戲的制作還是很粗糙的,所有可以改進的地方很多,有興趣的讀者可以嘗試自己做一做。這里作者提幾個很簡單就可以改進的點:
- 讓畫面效果好一些,直接找更好的圖片就可以實現(xiàn);
- 多個魚同時游動,重復(fù)上述操作,多幾種魚的類型;
- 增加魚雷,即設(shè)置幾個移動的魚雷,魚鉤碰到之后即宣布游戲結(jié)束或者得分清零;
- 魚的y方向增加移動特效,這一點也很好實現(xiàn),即y軸方向增加隨機數(shù)位移即可;
- 增加暫停功能,設(shè)置條件讓魚的速度變?yōu)?即可以實現(xiàn)這一點。
上圖是稍微美化了的結(jié)果,是不是好看很多呢,其實只要用心還是可以做出不錯的作品的。
四、總結(jié)
本實例難度中等,相信對于axure有一定基礎(chǔ)的讀者可以直接重復(fù)出來,對于axure的認(rèn)識僅停留在畫原型上的讀者,可以先學(xué)習(xí)相關(guān)的內(nèi)容再進行練習(xí)。
#專欄作家#
馬璐,人人都是產(chǎn)品經(jīng)理專欄作家。關(guān)注產(chǎn)品設(shè)計以及用戶體驗,力求在技術(shù)一定的情況下將產(chǎn)品做到極致,充分發(fā)揮技術(shù)的潛能。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash ,基于 CC0 協(xié)議
太有趣了,,明天試一下
你好,公眾號是什么呢
我想看看您的源文件,可以不,?
公眾號中有
謝謝,找到了
想要一個源文件,樓主大大可以給嗎-T T
可以加我我給你
加你公眾號了
公眾號-小游戲-Axure小游戲合集,里面5個都有
謝謝作者!
有這個做法的視頻教程嗎
這個沒有呢
大神源文件在哪里獲取,有幾處不明白
公眾號!
按照樓主的原型模板一模一樣的設(shè)置的,可是魚就是一動不動?
那看來還是有區(qū)別吧
請問下大神:分?jǐn)?shù)為什么不是每次累加1呢?還有就是重復(fù)出現(xiàn)的小雨在移動的時候會出現(xiàn)小小的卡頓現(xiàn)象請問要怎么處理???
因為接觸是一段時間,會多次加分??D問題暫時沒有考慮,可以試者調(diào)調(diào)參數(shù)看看會發(fā)生什么。
想問下大神,[[[math.random()*dx-10*level]],0]這個是不勻速運動嗎?這是隨機運動到某一個位置才對吧??控制速度不是后面的這個20ms嗎?
這個設(shè)置會導(dǎo)致不勻速運動,在實際運行中可以感覺到魚是忽快忽慢的。math.random的變化可以導(dǎo)致移動速度的變化??梢詫⒄麄€隨機函數(shù)換成0.5,就會發(fā)現(xiàn)移動線性了。至于20ms也會影響到速度,但是不會導(dǎo)致其不勻速。
想試著做暫停/繼續(xù),點擊暫停,魚和魚鉤都停止,繼續(xù)后恢復(fù)暫停前動作。考慮到魚往復(fù)運動,要想繼續(xù)后恢復(fù)暫停前的方向,所以設(shè)置了一個全局變量記錄暫停時的方向。暫停交互事件是這樣的,當(dāng)dx=1時,dx=0,fx=1。當(dāng)dx=-1時,dx=0,fx=-1.繼續(xù)的交互是,當(dāng)fx=1時,dx=1,移動魚。但是不管用,想問大神我的思路的問題在哪?麻煩指點下
成功完成~謝謝大佬指點 https://nnfxgj.axshare.com ??
蠻好的哦,魚還是很卡通的嘛
能教下怎么做的嗎就是魚移動那點
能教下怎么做的嗎就是魚移動那點
真牛
感謝認(rèn)可
看著挺簡單的,試做了一下總是實現(xiàn)不了
因為這真的不簡單,絕對高階范疇啊
對,很厲害很厲害
能再詳細寫一下上述的魚移動和魚轉(zhuǎn)身交互是在哪個元件上設(shè)置的嗎?
在一個空的動態(tài)面板上,該空面板唯一的作用就是觸發(fā)魚的移動
魚移動、魚轉(zhuǎn)身、魚復(fù)位得分都是分別建立一個空面板做的嗎?我函數(shù)都加了,但是都沒有反應(yīng)呢
關(guān)注我公眾號,找源文件吧~( ̄▽ ̄~)~
公眾號怎么加?
厲害 ?? 能放上源文件嗎?
我這個系列還有很多,大概到結(jié)束的時候有可能會整合一下,現(xiàn)在還早。釣魚后是地鼠,地鼠后像素鳥,再之后投籃,在之后。。。請持續(xù)關(guān)注。
可以先把這個原型分享我們學(xué)習(xí)一下嗎?
等系列完結(jié)整理后再說
真棒!
接下來應(yīng)該會出一個axure游戲系列,下一個是打地鼠,感興趣的話可以關(guān)注我~( ̄▽ ̄~)~
能加個微信嗎大佬
可以關(guān)注我公眾號之后點擊關(guān)于我即可獲取二維碼。
5u
接下來還會發(fā)布類似的內(nèi)容,下一個是打地鼠,下下一個是像素鳥,喜歡axure靈活使用的朋友可以關(guān)注一下我的專欄 ??
已關(guān)注
??
拜服
感謝認(rèn)可
厲害了
感謝認(rèn)可