本操作系統屬於外國大神自制的跳躍系統,本人只是翻譯+一些個人的理解,如侵權那麼我會刪除此貼
這是大神的教程鏈接,小學英文系數,差不多能看懂
http://pan.baidu.com/s/1c1OALrE(轉者注:連接已失效)
首先看效果(沒有踢牆跳)
流暢的嚇人而且。。。反正就是超級666
小貓的素材也是大神畫的
如果你是新手,不要猶豫,戳進這個帖子
首先,你要準備的是:
1.一臺裝有scratch的電腦。
2.一個小貓的角色。(在上面的教程s.b2文件可以找到)
3.一個有基本理解力並且學過scratch的腦子
4.以上均爲廢話。
————分割線————
(一)簡單的重力系統——
如題,這一大段要講的就是重力系統啦。
重力系統,要做的就是讓你的小貓向下移動,最簡單的方式如下:
1.1
效果如下:
1.2
看起來很蠢對吧,沒錯這就是很蠢,所以我們需要一個新的變量—— 1.3
效果如下:
1.4
這樣看上去就好多了對吧。
然後呢。。我們就做好了重力系統。(沒錯就是如此簡單)
注意事項:
1.是增加的是-1不是1。
2.不要把y座標錯認成x座標。
但是————光掉落可不行,在碰到地面的時候總得停下來吧。
所以呢——
1.5
效果如下:
1.6
細心的大家肯定發現了,y座標增加1的動畫被顯示了出來,這導致小貓看上去像“浮”出來了一樣。
這是因爲scratch會在一串積木執行完畢或者重複執行的末尾時更新動畫。
解決的辦法是不讓scratch刷新屏幕。
既然重複執行是循環的,不能用普通腳本代替,那麼——
利用自定義模塊的運行不刷新。
1.7
完美解決:
1.8
更新完畢
㈡移動
衆所周知,移動是做一個跳躍遊戲必不可少的要素之一,那麼今天就來學習移動。
首先看一個栗子:
2.1
給它加一點特技,就會變得很油,很亮,DUANGDUANGDUANG!!(霧):
2.2
然後看效果:
2.3
很顯然,小貓直接飛過了臺子,牛頓老人家的骨灰盒都壓不住了。
所以我們要改進,碰到地面,那麼就返回!(PS:上一章所說的,sc會在重複執行的最後更新動畫,所以我們不必擔心腳底下的地面):
2.4
但是這樣的話,就會出現:如果地面上有一個米粒大的凸起♂,但是小貓仍然走不過去。爲了修復這個BUG,我們需要了解如何判斷這是一面牆還是一個斜坡——斜坡檢測。
大家都知道,在爬坡的時候,你的x和y座標是在不斷增加/減少的。
(靈魂畫手)
然後爬坡的時候需要擡腿對吧,怎麼擡呢,由於小貓不能一眼看出要擡到哪裏,我們要模擬。
一個像素一個像素向上擡,如果說你的腿擡到了空中,那麼你就把整個身子定在那裏不動(實際上實現的時候你動的是整個身子)
但是如果你的腿不夠高,跨不過這座牆。
你就要把你的腿放下來,並且退回到你走這一步的時候。
下面上代碼:
2.5
嗯。。看效果:
2.6
OK,本章完結。