1.決定學期作品方向
畫線遊戲:材質(ex.水 糖) 蟲洞 改變重力方向 反彈 不能畫的區域
partner:晨馨
1-1.玩法:
玩家用滑鼠畫出線條軌跡,使球可以到達目的地。途中會有星星、炸藥,觸碰星星可加分;碰觸炸藥會失敗。
1-2.預計目標:
- 期中: 球 炸彈 得分機制(墨水量 星星) 問題:摩擦力 怎麼爬/不上去? 線沒有重力 介面優化(設計圖案、開始結束畫面)
- 期末: 線有重力會掉下來、旋轉 球本身有彈力會反彈 改變重力
設計關卡:各5關
預期畫面:網格 淺色 可愛卡通 墨水條 restart鍵
可參考:彈蛋蛋炸彈(不能碰到的地方)
2.老師示範"如何畫線"
2-1.簡易畫線:
前一幀滑鼠的X位置 pmouseX
line(mouseX,mouseY,pmouseX,pmouseY);
不規則、很多小線段>>>問題:無法知道整數的XY座標
1.用陣列>>>要多大??
2.ArryList鏈結串列(自動變大)
2-2.鏈結串列:
ArrayList<PVector> points; //PVector:向量(座標) 宣告:資料結構 名稱;
points=new ArrayList<PVector>(); //new 創建一個新物件points
points.add( new PVector(mouseX,mouseY) ); //捕捉滑鼠XY座標放到points裡
for(int i=0; i<points.size() ; i++){ //在points的範圍裡
PVector pt = points.get(i) ; ///向量pt=第i個points(把每個座標秀出來)
ellipse(pt.x, pt.y, 5,5); /// 這樣就能捕捉每個整數座標並使用了!!
}
if( mousePreesed && ( mouseX != pmouseX || mouseY!=pmouseY) )
PVector pt2=points.get(i+1); ///抓第i+1個,因此範圍要-1
line(pt.x, pt.y, pt2.x, pt2.y); //第i個和第i+1個,頭尾連線
用上下左右鍵移動線
pupMatrix();
translation(x,y); //重新定義座標原點ex.(0,0) >> (x,y) >>(x+x,y+y)
//後再移動整體
popMatrix();
//恢復每個點的相對位置


沒有留言:
張貼留言