2023年12月28日 星期四

Week12 互動技術 森

 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軸上移動。當車輛超過視窗邊界時,它會重新從螢幕左側開始移動,形成無限循環的效果。

你可以根據需要調整參數和添加更多的元素來擴展和改進這個例子,使其更符合你的城市場景設想。

沒有留言:

張貼留言