|
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
然后請(qǐng)分析下程序,我出以下題目,供牛牛們練手(RPG游戲開發(fā) - 實(shí)戰(zhàn),不搞理論,著重程序?qū)崿F(xiàn)思路).
1:我的程序,你還能否再精簡(jiǎn)?優(yōu)化/改編算法?提高效率?試試吧,不過不能說太容易..提示:我目前認(rèn)為,判斷8個(gè)移動(dòng)方向的程序,雖然效率可以,但I(xiàn)F ELSE的寫法真有點(diǎn)老套,我也在想新的思路來(lái)簡(jiǎn)化這段程序,你若有,就漏兩手吧!
2:都想玩尋路是吧?哈哈,那么就請(qǐng)?jiān)囋嚺鲇|那個(gè)藍(lán)色方塊?注:假設(shè),將來(lái)出現(xiàn)的障礙,是隨機(jī)的,不是固定的..你碰到了比說任何藍(lán)色障礙,就停住,或說,饒過去....提醒你:關(guān)鍵是思路.
3:有個(gè)問題我也不知道,就是CSS的clip,我發(fā)現(xiàn)就是,雖然裁剪了一小塊,但其他被裁掉的部分,雖然看不見,但是,依然占用地方(原大小),比如,人物走到中間,卻因?yàn)榭瞻椎南掳氩糠殖?就會(huì)有滾動(dòng)條了,這個(gè),能不能就硬性去掉裁剪掉的部分?不讓其影響滾動(dòng)條?(別說BODY加上scroll=no就完事了,這個(gè)我可知道^-^)
4:誰(shuí)有本事改成FF也能運(yùn)行?注:我沒裝那玩意,哈哈,不過,我認(rèn)為不太容易/可能很難改....
注:以上4點(diǎn),你只需完成一點(diǎn)即可(就很牛),當(dāng)然了,你4點(diǎn)都能/都想解決,那更牛B了,呵呵開個(gè)玩笑,反正隨便你^-^.
以下是新增的內(nèi)容:
1:采取了campaign的建議,使用其超級(jí)三元表達(dá)式,支持多行?能加注釋?堪比多個(gè)IF ELSE?真牛..使用了,剩了不少代碼.
2:借鑒了winter的思路,使用CSS的backgroundPosint方式代替了clip裁剪,簡(jiǎn)便易用....一個(gè)DIV就搞定了,無(wú)需在包容一個(gè)IMG
3:參考了理論家hax的代碼,HTML代碼使用了兼容寫法,不過,JS程序沒瀏覽器測(cè)試,無(wú)法寫標(biāo)準(zhǔn),呵呵..
4:自己,又實(shí)現(xiàn)了[鼠標(biāo)按住],不停變換方向移動(dòng),你這次測(cè)試,可以單擊,可以一直按住鼠標(biāo)左鍵不停移動(dòng)...思路就是用一個(gè)計(jì)時(shí)器不停檢測(cè),也占極少CPU,不知大家還有沒更好思路?還有,用了setCapture()這種鼠標(biāo)鎖定.
5:自己,經(jīng)測(cè),堵住了幾個(gè)異常漏洞(當(dāng)值為0或NaN時(shí),就說,應(yīng)該不會(huì)再出錯(cuò)誤)
精簡(jiǎn)/優(yōu)化后的程序:
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

JavaScript技術(shù):javascript 人物逼真行走,已完成,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。