Week12
1.
在Processing中創建一個可左右移動的城市場景可以透過繪製不同的元素來實現,例如建築物、道路和車輛。以下是一個簡單的例子,示範如何使用Processing來建立這樣一個場景。在這個例子中,我將使用矩形代表建築物,線段代表道路,橢圓代表車輛。int cityWidth = 800;
int buildingWidth = 40;
int buildingHeightMin = 50;
int buildingHeightMax = 200;
int roadHeight = 20;
int carSize = 30;
float carSpeed = 2.0;
float carX = 0;
void setup() {
size(800, 400);
}
void draw() {
background(220);
// 绘制建筑物
drawBuildings();
// 绘制道路
drawRoad();
// 移动车辆
moveCar();
// 绘制车辆
drawCar(carX, height - roadHeight - carSize);
}
void drawBuildings() {
fill(150);
for (int x = 0; x < cityWidth; x += buildingWidth + 20) {
int buildingHeight = (int)random(buildingHeightMin, buildingHeightMax);
rect(x, height - buildingHeight - roadHeight, buildingWidth, buildingHeight);
}
}
void drawRoad() {
fill(100);
rect(0, height - roadHeight, cityWidth, roadHeight);
}
void drawCar(float x, float y) {
fill(255, 0, 0);
ellipse(x, y, carSize, carSize);
}
void moveCar() {
carX += carSpeed;
if (carX > width) {
carX = -carSize;
}
}
在這個簡單的例子中,建築物由矩形表示,道路由一個矩形表示,車輛由一個紅色的橢圓表示。透過在draw函數中不斷調用moveCar函數,車輛將在X軸上移動。當車輛超過視窗邊界時,它會重新從螢幕左側開始移動,形成無限循環的效果。
你可以根據需要調整參數和添加更多的元素來擴展和改進這個例子,使其更符合你的城市場景設想。
沒有留言:
張貼留言