資訊內容
精選教程丨掌握了這個功能,才算真正的Scratch高手!
本文原載于卡搭論壇,作者:靈問
教程內容:云變量的介紹及使用
適用范圍:Scratch進階
【一、創建一個云變量】
云變量和普通的變量大致是相同的,如果你的游戲非常寂寞的話,它只是一個普通的變量。但在卡搭上你是不會寂寞的,只要你愿意在程序上面下功夫(比如為了知道云變量的信息看我這篇亂糟糟的心得),你的程序就會有源源不斷的人來拜訪(當然如果你邀請你的各路朋友一起來玩就更棒了),這個時候,云變量就會展現出它獨特的魅力——數據交流。
我假定你已經知道了怎么刪除scratch里那只胖貓了。并且假設你已經懂得如何丟上一架高大上的戰斗機,并把屏幕涂成黑色,開始一場史詩大戰了!
然后我還假定你知道云變量就是創建變量的時候打上下圖中的這個勾:
然后它就會變成這樣,變量名字之前有一個小云朵,很萌的樣子:
我們試試操作這個變量吧,考慮到你是一個很有基礎的積木搬運者,那我們寫的稍微復雜點應該也沒什么問題:
我們理解一下上面的代碼,重復執行,如果鼠標鍵被按下,就把角色的 x 坐標移動到鼠標的 x 坐標,并更新云變量為 x 坐標位置,否則,就移動到云變量指定的位置。
我們也要理解一下卡搭的服務器,為這么多熱愛編程的朋友服務,它真的很辛苦,所以在我們操作云變量的時候,如果在循環中加上一個等待延時,就像上面那行我們沒有拖進循環的代碼那樣,它會非常高興。(一般來說,變量內容越多,延時就適量增大一點)
好了,這就是一個初步的云變量操作方式,實際上它真的可以工作,比如:
就這么簡單?是的,云變量操作起來真的不復雜,何況研究云變量的你可是一個很有學習能力的人!
【二、一人一架飛機的實現】
假設你和你的伙伴都是飛機愛好者,想肩并肩一起翱翔在天際,那應該怎么實現呢?
我們知道在單機模式下,我們可以設置兩個飛機角色,一個接受 asdf 的控制,一個接受“上下左右”的控制,但這種控制模式需要兩個人同時在一臺機器一個鍵盤上,這非常不適合輕度社交恐懼癥的我們啊~!好吧,我們計劃一人一臺機器,各自在自己的電腦上登錄游戲,操作各自的飛機,這下總歸滿意了吧。
那應該怎么實現呢?我們假定你對克隆體了解的不算少,我們先克隆兩架飛機起來,然后再創建幾個變量和另一個云變量——云變量一人一個,平等合作,怎么樣?
1.糾正變量名稱;(隨便給變量名稱命名可不是什么好習慣,至少你要保證自己不會忘記這個變量是用來做什么的。)
2.(用參雜著中文、數字、英語的名稱)創建第二個云變量;
注意:一個程序最多有10個云變量的配額,但我們考慮到之后程序的擴展,所以大家節省點使用。
3? 以私有變量的方式創建如下兩個變量:飛機編號、倉庫標記(這樣的變量對于克隆體來說,是各自獨立的);
4.出于對美觀和運行效率的要求,我們把變量都取消顯示。
5.出于對美觀與識別的要求,我們給飛機增加一個造型
6.然后增加一個變量,取名叫 : 當前控制;?這個變量就是普通的變量,既不允許是云變量,也不允許是私有變量。
很好,準備工作完畢,我們來創建克隆體,請坐穩扶好,代碼并不復雜(點擊圖片放大查看)。
左邊舞臺是運行后的效果,如果理解了上面的代碼,就繼續看下一個單元,否則請參考下一自然段。
代碼的目標是創建四架飛機,兩種造型各兩架,小的出現在屏幕右上,作為控制角色選項,特征為? 倉庫標記 = 1;大的飛機作為展示效果,倉庫標記 = 0;造型不同的飛機有不同的編號(1? /? 2)。我們重復兩次,在指定的地方克隆好,然后將主體隱藏起來。
然后我們將“當前控制”變量初始化,設置為0,然后設置一個點擊事件,當角色是“小飛機”的時候,我們將當前控制換為該飛機的編號。
猜到我的思路了嗎?
【三、發送廣播,開始游戲!】
我們在延時 0.5秒之后(確保所有角色都已經創建成功),發送廣播,讓所有角色——本體和克隆體們,聆聽我們的呼喚,? 進入游戲? !
然后針對這個 進入游戲 的廣播,我們分成兩段處理:
我們知道本體的編號等于0,而且本體只有一個,所以我們在這里進行控制判斷,如果 當前控制 = 1 且鼠標鍵被按下,則更新1號云變量為鼠標x坐標,如果 當前控制 = 2 且鼠標鍵被按下,則更新2號云變量為鼠標x坐標,這是上面代碼塊的前半截。
如果編號不等于0,且倉庫標記為0的,則反復將自己的位置設置為云變量指定的位置,這是上面代碼的下半截。
是不是很清晰,是不是很明了,是不是要再看兩遍。看明白之前不許走~!
運行起來是這樣的,你可以和朋友試試:
好了,你可以按照這個方式創建三個、四個甚至更多的飛機進來,但我們這樣就滿足了嗎?難道你不想和你的朋友PK一下嗎?難道你看到了這里還不打算點個贊嗎?
剩下的,下次聊。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
