LEGO SPIKE Prime Essential 樂高機器人,LEGO MINDSTORMS Robot Inventor, EV3 ,樂高動力機械 BricQ Motion 程小奔Codey Rocky,mBot2,CyberPi 童芯派 mBlock5 慧編程, Python 專業教學,課程設計。 Scratch, MakeBlock產品 艾多美 Atomy 生活用品 NXT 樂高機器人:創意樂趣,隨心所欲!
SPIKE 樂高機器人
▼
我的網頁
▼
2011-05-20
NXT-G 2.0的打包帶走功能--Pack and GO
想將有趣的NXT-G程式分享給其他人,或是拿到其他電腦使用,我們可以這樣做:
一般來說,程式中如果沒有用到My Block、聲音或圖片,那麼就可以單純地複製rbt檔,在其他電腦開啟。
但是撰寫比較複雜的NXT-G程式時,常常會用到My Block功能(自製命令方塊),也會使用一些聲音檔案或圖片檔案。這時可能會遇到這樣的問題:
只記得複製主程式(rbt),卻忘了複製其他的檔案,例如:My Block(rbt)、聲音檔(rso)、圖片檔(ric)。
由於這些檔案散佈在不同的子目錄中,複製後還需要將他們放回另一台電腦的相對目錄,對於使用者來說有點麻煩,
所以NXT-G 2.0版提供了『打包帶走』功能(Pack and Go),不論是教育版軟體還是玩具零售版8547的軟體都有這個功能,NXT-G會主動將主程式(rbt)、以及主程式內所用到的My Block(rbt)、聲音檔(rso)、圖片檔(ric)一起壓縮,變成副檔名為rbtx的壓縮檔。
想使用這種功能只要先將程式寫好,點擊Tools-->Create Pack and Go.....就能輕鬆完成。
再到我的文件-->LEGO Creations-->MINSTORMS Projects-->Profiles-->Default,可以找到剛才儲存的rbtx檔,複製到其他電腦。
當我們開啟這個rbtx檔案,NXT-G會自動解壓縮,並且將檔案分門別類地放在相關的子目錄中,不用自己將檔案歸位。
(注意!如果是在Start New Program的畫面下,Tools不會顯示這個選項。)
祝大家玩得愉快!
邱老師:
回覆刪除請教你一個問題,這個問題如果無解,我很難用NXT-G寫較複雜的程式,是關於變數的宣告。
NXT-G宣告常數時,在那有一把鑰匙的公事包裡指定變數名稱;但卻須拉下MENU/Edit/Define Variables來宣告變數名稱,無法在公事包裡定義,很奇怪的做法。
以至於我無法把很多變數(十個以上)用My Block包起來。有沒有用My Block來宣告變數的方法呢?
thanks.
[版主回覆05/20/2011 22:43:00]陳教授,你好:
NXT-G 2.0版新增了Constant常數,可以臨時定義,也可以事先宣告。常數是記錄在NXT-G裡,所以只要設定一次就可以跨程式直接叫用。
但是變數宣告就只能在這個程式使用,所以需要事先定義。
關於My Block裡面的變數使用方式,就是在開創My Block時,先定義好所有需要用到的變數。
當開啟新的主程式呼叫My Block時,也要重新在主程式定義My Block所用到的變數名稱,如此才能利用變數在主程式與My Block之間傳遞資料。
所以如果在My Block裡面用到變數,請務必詳細註解相關變數的名稱及型別。
我記得以LabVIEW資料流的觀念,應該是可以很少用到變數的,或許可以使用『My Block輸入參數』的方式替代您所需要的變數,這樣就不用為了太多變數傷腦筋了。
歡迎討論!