Partikel verschwinden bei berührung mit dem boden
This commit is contained in:
@@ -69,10 +69,8 @@ func physics(particleList *[MAXPOINTS]rl.Vector2, particleCount int, particleLis
|
|||||||
if rl.CheckCollisionCircleLine(particleList[i], *particleRadius, floor.lu, floor.ru) {
|
if rl.CheckCollisionCircleLine(particleList[i], *particleRadius, floor.lu, floor.ru) {
|
||||||
var floorVector rl.Vector2 = rl.Vector2Subtract(floor.ru, floor.lu)
|
var floorVector rl.Vector2 = rl.Vector2Subtract(floor.ru, floor.lu)
|
||||||
var normalFloor rl.Vector2 = rl.Vector2Rotate(floorVector, -90)
|
var normalFloor rl.Vector2 = rl.Vector2Rotate(floorVector, -90)
|
||||||
var collisionAngle float32 = 2 * rl.Vector2Angle(particleSpeed[i], normalFloor)
|
//var collisionAngle float32 = 2 * rl.Vector2Angle(rl.Vector2Negate(particleSpeed[i]), normalFloor)
|
||||||
particleSpeed[i] = rl.Vector2Rotate(
|
particleSpeed[i] = rl.Vector2Reflect(rl.Vector2Negate(particleSpeed[i]), normalFloor)
|
||||||
particleSpeed[i],
|
|
||||||
collisionAngle)
|
|
||||||
}
|
}
|
||||||
particleList[i] =
|
particleList[i] =
|
||||||
rl.Vector2Add(
|
rl.Vector2Add(
|
||||||
@@ -126,7 +124,7 @@ func main() {
|
|||||||
|
|
||||||
spawnParticlesAsGrid(particleWidth, particleHeight, particleColumnCount, particleRowCount, &particleList)
|
spawnParticlesAsGrid(particleWidth, particleHeight, particleColumnCount, particleRowCount, &particleList)
|
||||||
|
|
||||||
var floor quad = createRectangle(rl.Vector2{600, 700}, 600, 100, 0)
|
var floor quad = createRectangle(rl.Vector2{600, 700}, 600, 100, 0.5)
|
||||||
|
|
||||||
go physics(&particleList, particleCount, &particleListKey, &floor, &particleRadius)
|
go physics(&particleList, particleCount, &particleListKey, &floor, &particleRadius)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user