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不會顯示這個選項。)

祝大家玩得愉快!



1 則留言:

  1. 童年萬歲8:07 下午

    邱老師:
    請教你一個問題,這個問題如果無解,我很難用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輸入參數』的方式替代您所需要的變數,這樣就不用為了太多變數傷腦筋了。

    歡迎討論!

    回覆刪除

探奇歡迎大家留言討論!謝謝分享你的意見。