summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.go4
-rw-r--r--objects.go2
-rw-r--r--shaders/vcr.kage5
-rw-r--r--tilemap.go4
4 files changed, 6 insertions, 9 deletions
diff --git a/main.go b/main.go
index 2153470..5399cde 100644
--- a/main.go
+++ b/main.go
@@ -264,12 +264,10 @@ func (g *Game) Draw(screen *ebiten.Image) {
}
}
- cx, cy := ebiten.CursorPosition()
-
shop := &ebiten.DrawRectShaderOptions{}
shop.Uniforms = map[string]any{
"Time": float32(g.time) / 60,
- "Cursor": []float32{float32(cx), float32(cy)},
+ "NoiseOffset": float32(g.time) / 60,
}
shop.Images[0] = g.surface
shop.Images[1] = g.surface
diff --git a/objects.go b/objects.go
index e24e331..ce7ed22 100644
--- a/objects.go
+++ b/objects.go
@@ -213,7 +213,7 @@ func NewLeftSpike(game *Game, x, y float32) *GameObject{
spike.offsetX = 3
spike.image = tilesImage.SubImage(image.Rect(195, 16, 208, 32)).(*ebiten.Image)
- spike.onCollideLeft = OnCollideSpike
+ spike.onCollideRight = OnCollideSpike
return spike
}
diff --git a/shaders/vcr.kage b/shaders/vcr.kage
index 3bee5cd..fd555d8 100644
--- a/shaders/vcr.kage
+++ b/shaders/vcr.kage
@@ -5,7 +5,7 @@
package main
var Time float
-var Cursor vec2
+var NoiseOffset float
const noiseX = 80.0
const noiseY = 100.0
@@ -17,7 +17,6 @@ func rand(co vec2) float {
}
func Fragment(dstPos vec4, srcPos vec2, color vec4) vec4 {
- noiseOffset := Time / 7
col := vec4(0)
uv := srcPos / imageSrc0Size()
@@ -25,7 +24,7 @@ func Fragment(dstPos vec4, srcPos vec2, color vec4) vec4 {
uv.y = uv.y + (rand(vec2(Time))-0.5) / (noiseY);
whiteNoise := rand(vec2(floor(uv.y*80.0),floor(uv.x*50.0))+vec2(Time,0))
- off := 1.0 - mod(uv.y - noiseOffset, 1)
+ off := 1.0 - mod(uv.y - NoiseOffset / 7, 1)
if (whiteNoise > 11.5-30.0*(off)) || whiteNoise < 1.5-2.0*(off) {
// Sample the texture.
diff --git a/tilemap.go b/tilemap.go
index 0bdb401..23120fb 100644
--- a/tilemap.go
+++ b/tilemap.go
@@ -90,7 +90,7 @@ func (tm * Tilemap) CalculateCollisions() {
func Collide(r1 image.Rectangle, r2 image.Rectangle) bool {
- return ! ( r2.Min.X > r1.Max.X || r2.Max.X < r1.Min.X || r2.Min.Y > r1.Max.Y || r2.Max.Y < r1.Min.Y)
+ return ! ( r2.Min.X >= r1.Max.X || r2.Max.X <= r1.Min.X || r2.Min.Y >= r1.Max.Y || r2.Max.Y <= r1.Min.Y)
}
func (t * Tilemap) Collide(x, y, width, height int) bool {
@@ -102,7 +102,7 @@ func (t * Tilemap) Collide(x, y, width, height int) bool {
)
for _, r2 := range t.collisions {
- if ! ( r2.Min.X > r1.Max.X || r2.Max.X < r1.Min.X || r2.Min.Y > r1.Max.Y || r2.Max.Y < r1.Min.Y) {
+ if ! ( r2.Min.X >= r1.Max.X || r2.Max.X <= r1.Min.X || r2.Min.Y >= r1.Max.Y || r2.Max.Y <= r1.Min.Y) {
return true
}