資訊內(nèi)容
Scratch少兒編程第86講: 水平滾動(dòng)背景簡(jiǎn)易實(shí)現(xiàn)方式
前言
最近估計(jì)是疫情的原因,一直也沒(méi)心情,所以也沒(méi)什么靈感,一直不知道該講點(diǎn)什么。今天翻翻之前的課程,翻到了超級(jí)瑪麗這一節(jié),突然想起來(lái)背景的水平滾動(dòng)這塊。之前我們?cè)谟螒蚶镉刑徇^(guò)垂直的背景滾動(dòng),都沒(méi)有專(zhuān)門(mén)提過(guò)水平的背景滾動(dòng),這里有一個(gè)水平滾動(dòng)的簡(jiǎn)易方法,大家可以把他應(yīng)用在自己的小游戲里,效果不錯(cuò)的。以后CC哥會(huì)挑一些比較實(shí)用的通用性技巧,可以讓大家用在自己設(shè)計(jì)的小游戲里,讓游戲更生動(dòng)完美。
請(qǐng)看示例:
設(shè)計(jì)思路
1:屏幕連續(xù)滾動(dòng)首先就是講圖片的銜接性,需要圖片之間要無(wú)縫銜接。垂直滾動(dòng)的時(shí)候會(huì)有點(diǎn)難度。但是水平滾動(dòng)如果想簡(jiǎn)單的話(huà)就非常簡(jiǎn)單。只需要一張圖片左右翻轉(zhuǎn)就好了。左右翻轉(zhuǎn)的同一張圖片就可以實(shí)現(xiàn)無(wú)縫銜接。
2:連續(xù)滾動(dòng)時(shí),圖片是作為角色的,角色移動(dòng)出屏幕是需要CC哥之前教的角色完全移出舞臺(tái)的技巧。
有了這兩點(diǎn)就非常容易實(shí)現(xiàn)啦。
代碼展示

CC哥選了3個(gè)背景造型,下面這個(gè)黑的不用說(shuō)是為了移出舞臺(tái)用的。
程序的功能:

代碼部分邏輯:
1:首先將圖片角色生成兩個(gè)克隆體。
2:根據(jù)克隆體的編號(hào),分布放好初始位置,然后慢慢向左邊移動(dòng)。
3:當(dāng)移動(dòng)出舞臺(tái)后立即移動(dòng)到最右邊重新進(jìn)入屏幕。

這一步很簡(jiǎn)單,就是先設(shè)好變量的初始值,以及生成兩個(gè)克隆體。注意要給每個(gè)克隆體一個(gè)編號(hào),用來(lái)對(duì)應(yīng)不同的操作。我們編號(hào)為A和B。
克隆體的代碼稍長(zhǎng),CC哥截成兩段來(lái)講:

克隆體啟動(dòng)后,首先進(jìn)行判斷,如果A克隆體,那么將方向設(shè)置為面向-90度,實(shí)際上就是把圖片做了左右翻轉(zhuǎn),記得要實(shí)現(xiàn)把角色設(shè)定成左右翻轉(zhuǎn)。

重復(fù)執(zhí)行的代碼里的造型大小的變化和切換造型都是為了讓角色能夠完全移動(dòng)出舞臺(tái)。(大家可以在《角色完全移出舞臺(tái)》這一講里學(xué)習(xí)這個(gè)技巧)

這個(gè)移動(dòng)命令就是讓背景從右側(cè)進(jìn)入屏幕?;瑒?dòng)坐標(biāo)這個(gè)變量是全局變量,所以只要在一個(gè)克隆體里增加就好了。所以在這個(gè)克隆體里不需要管,統(tǒng)一在B克隆體里處理就好。

這個(gè)“否則”的部分代碼就是代表另一個(gè)克隆體里面的操作。
1:首先如果是“暫?!边@個(gè)變量為No的話(huà),那么滑動(dòng)速度這個(gè)變量就減去1。反過(guò)來(lái),如果這個(gè)變量為Yes的話(huà),那么滑動(dòng)速度這個(gè)變量就會(huì)停下來(lái),也就意味著兩個(gè)圖片克隆體的運(yùn)動(dòng)會(huì)停下來(lái)。
2:如果B圖片克隆體已經(jīng)完全移出了屏幕,就立即跳到屏幕右邊,也就是讓滑動(dòng)坐標(biāo)直接加上959。
3:滑動(dòng)坐標(biāo)這個(gè)變量代表移動(dòng)循環(huán)長(zhǎng)度,一圈下來(lái)就是960,然后復(fù)位為0。
另外屏幕滾動(dòng)還加上了暫停鍵和屏幕切換鍵。
暫停:


這個(gè)技巧不復(fù)雜,關(guān)鍵注重好銜接時(shí)不要有縫隙。大家可以自己試試。如果好用,可以直接把這個(gè)角色做好之后導(dǎo)出來(lái)。在做其他程序的時(shí)候?qū)刖托辛恕?
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除
