Ⅰ 有人了解編程貓嗎
產品宣傳
看來是比較低調的一個團隊,網上的信息不多,主要集中在官微和知乎。整體感覺年輕活力,很有「編程」的極客范,比如下圖這樣的。
人人都是程序員:初識《編程貓》
萌死人不償命
官網
濃濃的卡通風,相信比較吸引主要受眾——小朋友。不過整體來說,畫面質感還有提升空間(可以考慮天天愛消除這種風格)。
人人都是程序員:初識《編程貓》
官網首頁
官網內容當然是以「編程教學」為核心,分為以下板塊:
首頁
創作:進入編程貓的代碼世界(需先登錄),這里是我最喜歡的一部分,下文再具體介紹。
代碼島:類似於「我的世界」的一個頁面,但是沒有任何介紹,目前沒去研究如何使用。
編程貓熱點:即最近的新聞。
公開課:編程貓系統使用的常規操作,也是我收獲最大的一部分,下文具體介紹。
精選作品、小說、部落、活動、最近作品:UGC內容的推薦。
人人都是程序員:初識《編程貓》
官網小說推薦.png
創作:同上
發現:主要是作品(用戶發布的編程作品)和部落(即編程社區)。
網路:問題討論、官方角色資料,還包括漫畫和小說。
素材:這里提供了一些可以用到編程中的素材,比如背景、角色、道具等。
學校:與學校合作的一些介紹與接入。
下載:相關APP以及chrome的下載(系統運行需要chrome內核)
個人中心:用戶的主頁與信息,還包括代碼、小說等作品的管理。
一個建議
編程貓官網應該歸類到內容(代碼/小說/漫畫)+學習社區,那麼主要用戶就是兩類:
創作者:主要需求是通過平台創造內容,提升自己、收獲粉絲。偶爾需要學習知識,以及收集素材。
消費者:主要需求是消費這些內容(小游戲/小說/漫畫)。偶爾需要泡社區、與創作者互動。
當然,對於真實用戶,是完全可以在兩種角色之間切換的。
基於以上兩點,再次整理如下:
「發現」中的「作品」是給消費者的(發現好作品),而「部落」又是給創作者的(發現好社區)。
「網路」中的「討論中心」是給創作者的(提問/答問),而「漫畫/圖書館」又是給消費者的(看漫畫/小說)。
「素材」是給創作者,「學校」是面向學校,這些都比較清晰。
所以不妨基於兩類用戶的特點,對板塊進行重新劃分。
面向消費者:主欄目是「發現作品」,下設子欄目:游戲、漫畫、小說,每個欄目可以加上「我要創作」,來引導其成為創作者。
面向創作者:主欄目是「源碼社區」,下設子欄目:熱門源碼、討論、部落、素材。
(PS:網路中的「資料圖鑒」目前還未了解,暫不討論。)
公開課
這部分是我「入門」編程貓的關鍵,17個短視頻,看完你也能輕松學會在編程貓「寫代碼」。
人人都是程序員:初識《編程貓》
編程主界面
每個視頻也是一個小故事,比如《編程貓初見阿短》,「編程貓」就告訴「阿短」如何在屏幕內移動(設置「碰到邊緣即反彈」)
下面貼出我印象比較深的幾點:
1、初見阿短
動作—移到滑鼠指針:角色跟隨滑鼠移動
動作—面向滑鼠:使角色面向滑鼠方向
動作—碰到邊緣就反彈:使角色不再會走到屏幕之外
2、重復執行
控制—重復執行:使角色不斷重復執行某個動作
3、坐標
動作—移動到(X,Y):可以改變角色的坐標
4、廣播
很有意思的功能,可以理解為傳參,或者全局變數,可以讓一個角色的動作對另一個角色造成影響。
比如示例中通過點擊「禮帽」觸發動作「廣播:1」。然後對「動物」設置動作當收到「廣播:1」時,將自己設為可見。實現的是玩家點擊禮帽「變」出動物的效果。
位置在:」事件—當收到廣播/收到廣播時「。
5、如果
這里演示了經典的if-else的寫法。整個函數在一個循環體「重復執行」中。
游戲很像前幾年流行的Flip Bird(哈哈當年我玩到過200多分),玩家按下滑鼠時,角色往上跳一下,然後慢慢下落。
那麼角色就包括3個動作,對應if的三個情況:
飛行/下落:滑鼠按下時移動12px,否則向下移動3px
碰到障礙物:游戲結束,停止腳本
碰到南瓜怪:闖關成功,退出循環
人人都是程序員:初識《編程貓》
經典的If-else
6、外觀
基本是結合之前幾課,實現了「人物進入飛船、飛船飛走」的動作。
拆解如下:燈光在1秒內亮起,並發送廣播」進艙「——人物接收到」進艙「,在1秒內隱藏,並發送廣播」出發「——飛碟收到廣播」出發「後閃燈、變小、改變坐標值
人人都是程序員:初識《編程貓》
Paste_Image.png
Tips:圖層順序是右側覆蓋左側
7、聲音
為角色添加造型與聲音(三頭龍的5個造型對應著5種不同的血量)
添加聲音很簡單,這里一個新方法是:兩個角色之間的信息交互是用另一個的造型編號觸發,而沒有用「廣播」。
人人都是程序員:初識《編程貓》
三頭龍與勝利動畫
人人都是程序員:初識《編程貓》
利用角色編號來傳遞信息
8、畫筆
這里提供了一個簡單的畫筆工具,可以直接將屏幕變為一個畫板。
代碼不復雜,重點是起筆/落筆的設置,如下
人人都是程序員:初識《編程貓》
畫筆設置
9、變數
本章稍微復雜,需要實現的效果是:鯉魚在河道不斷左右運動,玩家點擊後消失,並計分+1。
鯉魚的運動,可以這樣寫(注意碰到邊緣反彈,是可以設置旋轉模式的):
人人都是程序員:初識《編程貓》
呆鯉魚的運動
得分的計算,可以這樣寫(初始設置為0,每次點中呆鯉魚+1):
人人都是程序員:初識《編程貓》
得分計算
最後這里有一個鏈表。它設定了游戲時間只有6秒鍾,根據玩家得分數來返回一個「擊敗80%玩家」的信息。當然也是用於結束游戲(腳本)的計時器。
人人都是程序員:初識《編程貓》
結束腳本與返回結果
10、克隆
這一part,需要的效果是:在一個固定高度,每秒在水平任意位置出現一個飛鏢,並依此落下。使用的方法是「克隆」,代碼的解析如下。
設置角色「飛鏢」,將其隱藏,
每秒創建一個自己的克隆體,克隆體移動到Y=500,X=隨機的位置
作為克隆體啟動時,不斷下落、旋轉
Tips:注意最後加上「如果碰到下邊緣就刪除自己」,相當於釋放內存,不然瀏覽器會悲劇。
人人都是程序員:初識《編程貓》
飛鏢的運動
練習作品
目前我在上面做了一個飛機大戰,踩了幾個坑,不過也算是完成了。已實現的需求:
玩家鍵盤控制飛機的移動、發射子彈;
敵方飛機隨機從上空出現;
擊落敵機,得分+1;
被敵機撞到,生命值-1,獲得3秒無敵狀態回屏幕中央;
生命值將為0,游戲結束。
人人都是程序員:初識《編程貓》
飛機大戰
一些思考
圖形化界面,很容易上手。但是完成這個小作品也是非常有成就感(像程序員一樣創造世界)。
代碼思維:比如「面向對象」的思維(將飛機、子彈、場景都視為對象),比如「清理內存」思維(克隆體一定要有刪除機制),相信這些對小朋友的思維也很有啟發作用。
遇到困難的時候,我是回到公開課去看的,因為「網路」和社區(包括我加入了QQ群)能了解到的信息不多,就像FCC推崇的「Read-Search-Ask「,這部分的內容其實也有待完善。
比如作為新手,我需要的信息包括:編程界面各個功能的使用說明,常見場景(Read);能搜到一些常見錯誤的解答(Search);可以學習和討論其他人的優秀作品(Ask)。這三點做好以後,相信能吸引更多人在這里創作。
其實做為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這里我要推薦c++交流群:「648778840」,不管你是小白還是大牛歡迎入住,大家一起交流成長。小編會在群中不定期分享干貨源碼,包括我精心整理的一份c++零基礎教程。歡迎各位感興趣的的小夥伴。
學習思路:
人人都是程序員:初識《編程貓》
學習資料:
Ⅱ 編程貓怎麼跳到第二個屏幕
方法如下:
1.運行編程貓APP,新建作品,進入創作界面。
2.設置背景圖片,添加角色"編程貓跳跳"。
3.添加屏幕2,然後設置背景2圖片,添加角色"阿短"。
4.點左邊"積木編輯"圖標,切換到積木編輯區。
5.點左邊的"角色選擇'圖標,點"1"選擇"屏幕1",點"背景"。
6.給"背景"增加以下積木代碼:
事件積木盒的"當",偵測積木盒的"手指按下"改為"手指點擊",事件積木盒的"切換屏幕1"改為"切換屏幕下一屏"。
7.切換到"編程貓跳跳",增加以下積木代碼,然後復制這組積木。
8.點左邊的"角色選擇'圖標,點"2"選擇"屏幕2",點"背景2"。
9.給"背景2"增加以下積木代碼。
10.切換到"阿短",粘貼從"編程貓跳跳"復制的積木組。
11.點運行。
首先看到的是場景1,編程貓跳跳在草地上跳躍。
點背景,就會切換到場景2,阿短在街道上快樂地晃動。
點背景,就又切換回到場景1。
Ⅲ 編程貓怎麼控制角色走動並掉頭不會翻轉
編程貓怎麼控制角色走動並掉頭不會翻轉的方法如下:
1、運行編程貓APP,打開作品,進入創作界面。
2、切換到積木編輯區,可以看到已經添加了事件積喝溝木"當開始被點擊"。
3、把敏瞧肺動作積木盒中的積木"移動10步"拉到編輯區,放到積木"當開始被點擊"下盲駝方,自動拼接起來。
4、把步數修改為100。
5、添加動作積木盒中的積木"移到x0y0",並將x和y的值修改為100,100。
6、添加動作積木盒中的積木:"設置x為0","設置y為0","x增加100",把x值改為-100,"y增加100",把y值改為-100,"設置x為0","設置y為0"。
7、為了看清編程貓跳跳的移動,添加控制積木盒中的"等待1秒"到"當開始被點擊"和"移動100步"之間。
8、點運行。
Ⅳ 編程貓讓程序跳轉到起始位置
在開始的時候設置起始代碼段。
1,首先,進入目錄LINK,運行make生成arm-linux-ld選項為「-Ttext 0x00000000」的反匯編碼ttt.s。
然後,修改Makefile:將第4、7行的「#」去掉,在第3、6行前加上「#」,運行make生成arm-linux-ld選項為「-Ttext 0x30000000」的反匯編碼ttt2.s,link.s程序中用到兩種跳轉方法:b跳轉指令、直接向pc寄存器賦值。
然後,先把在不同「-Ttext」選項下,生成的可執行文件的反匯編碼列出來,再詳細分析這兩種不同指令帶來的差異。
然後,讓第一張圖片從最左面開始,滾動方向是從左向右,而且讓第一張圖片和最後一張圖片要連接在一起,現在是一個滾動完成之後,圖片又從最右邊開始向左滾動。
然後,在應用程序中,棧和堆的起始地址是有約定的。但是內核本身沒有另外一個更高層的程序來管理內核的地址空間,所以內核空間的棧的組織,和應用程序有所不同。內核的棧如果溢出時,不能像應用程序那樣產生一個page fault,然後分配新的地址空間,繼續使用。內核的棧如果溢出,沒有人知道,除非溢出的地方影響了運行,讓程序crash。
後,堆的空間的擴大靠brk()系統調用,而內核的內存使用,get_free_pages來實現的(雖然上層封裝了kmalloc和vmalloc),這個基本上是自己管理自己,由於Linux內核還不支持自己的swapping,所以內核如果找不到可用的頁框了,也就沒辦法了。
Ⅳ 作戰大年獸。在編程貓里如何製作
1、打開編程貓界面,首先我們可以選擇主界面上的事件選項,選擇事件中的當按下A按鈕,如圖所示,選中之後積木模塊就出現在編程界面上,選中之後按住滑鼠左鍵拖到相應的位置。
2、保險期間我們最好把按下切換成放開,因為按鍵有抖動現象,如果選擇放開可能放置物品時會出錯。然後把後面的字母改成L。點擊a後面的三角,選擇彈出界面的l字母。
3、再選中建造選項,選擇建造中的在焦點上放置方塊。拖動到編碼位置。可以就將內部的定義方塊拖出來,到最左側的回收站刪除,選擇物品中的字母方塊來代替原來默認的方塊。
4、選擇字母方塊後邊的倒三角可以選擇顯示的字母A_-Z,選擇好之後將第一個模塊和第二個模塊連接,實現第一個效果,當放下按鍵L的時候,就會在你定位的焦點上建造一個字母L的模型。可以自己試一下效果。
5、然後繼續進行第二個字母的編程,我們需要實現love單詞的擺放,右鍵點擊剛才製作好的編碼,選擇復制並粘貼,粘貼的積木塊,更改控制的按鍵和顯示的字母,完成第二個字母的擺放,同理可以完成V,E字母的擺放。
6、全部完成之後,點擊運行,定位焦點按下按鍵L,然後將焦點定位到L右側,按下按鍵O,同理移動焦點位置分別按下V,E。就會出現如圖所示效果,建造了一個LOVE顯示。也可以設置成一鍵完成整個操作。
7、修改一下對應的代碼,使用定位點,將定位點設置為焦點位置,然後將定位點一直往右移一位,這樣只要點擊按鍵L,就會一次生成love圖案。還是比較方便的。這樣生成的圖案在平面上,沒有凸出來,可以再加上一句將定位點上移一個單位。這樣就實現了一開始想要達到的效果。
Ⅵ 編程貓如何設置聲音開關
在聲音里,有播放XXX,還有播放XXX直到結束,兩個是不一樣的