Files
aego/modules/audio/res/docs/AudioSourceGuideOriginal.aes
sanspie a46347e2c6
ci-platforms / darwin arm64 smoke (push) Skipped
ci / build (amd64, linux, ubuntu-24.04) (push) Failing after 12m19s
ci-platforms / darwin amd64 smoke (push) Skipped
ci-platforms / windows amd64 smoke (push) Skipped
github-native / gitea-pending (push) Skipped
github-native / darwin amd64 native (push) Skipped
github-native / linux amd64 native (push) Skipped
github-native / windows amd64 native (push) Skipped
github-native / darwin arm64 native (push) Skipped
github-native / gitea-result (push) Skipped
ci / checks (push) Failing after 23m57s
ci / release (push) Skipped
GitHub / windows amd64 native GitHub-hosted native CI: failure
GitHub / darwin arm64 native GitHub-hosted native CI: failure
GitHub / darwin amd64 native GitHub-hosted native CI: failure
GitHub / linux amd64 native GitHub-hosted native CI: success
editor: add art studio and stage 12.5 workflows
2026-11-08 18:47:57 +03:00

36 lines
872 B
Plaintext

package demo
import (
"aego/audio"
"aego/physics"
)
// Roller rolls the humming ball from wall to wall and clicks on every wall hit; tick Replay to start the hum again.
script Roller {
@export var Speed float = 6
@export var Bump AssetRef<Clip>
@export(tip="Tick to start the sound of the ball again")
var Replay bool
var dir float = 1
func Update(dt float) {
if Replay {
Replay = false
src := node.Get<AudioSource2D>()
if src != nil {
src.Play()
}
}
body := node.Get<Body2D>()
body.SetVelocity(Vec2{dir * Speed, body.Velocity.Y})
}
func OnCollisionEnter(other NodeRef, c physics.Contact) {
if c.Normal.X > 0.5 || c.Normal.X < -0.5 {
dir = -dir
audio.PlayAt(Bump, node.Position())
}
}
}