- 開啟新檔,命名為player
- 畫一個圓來當作主角,顏色選用與ball不同
2. 替玩家設立預設出現位置
- 使用translateXYZ來改變玩家位置
- 使用$來建立變數
- 運用Message,在主控台顯示此物件各種變數代表意義
- 設立全域變數,使用v,半徑為playerR,X為playerX,Y為playerY
- 可建立subpatch,讓畫面較為整潔
3. 判斷ball有無碰到player
4. distance
取得ball的位置後便可判別他與player之前的距離
在subpatch "translateXY"中建立subpatch "collision ",將程式寫於其中
使用 r 取得ball的XY值,取得Y的同時,同步取得player的XY值
Object,distance2d,偵測兩點距離的方式,但由於只有兩個輸入點,利用pack先將xy集合後,再輸入給distance2d
5. 建立碰撞反應
- r 接收ball的半徑,用t f b,把ball的半徑跟player的半徑相加
6. 產生碰撞
- 當距離 <= 兩圓半徑,便產生碰撞
- 將兩者相比,如果成立,便產生聲音
7. 利用判斷碰撞產生視覺回饋
- 判斷碰撞後,用s score,將數值傳出
- 到player的檔案,接收,r score
- 使用score作為觸發,每當碰撞,便將player的半徑降低
沒有留言:
張貼留言