Huh, thought I deleted that post.. :/ > What should happen is the sound should cut into the other one before the > first one stops, so you get an overlap. This happens when you call play on > the sound itself, but not when you queue a sound onto a player and play it > over and over. >
At the moment there's no way to do that without using multiple players, but you could handle this with an internal timer during updates and by keeping the Player references Source returns when you play them: timer = 0 running = False sound = pyglet.resource.media('walking.wav') walking = [] def update(time): timer += time if running == False and timer >= 1.0: walking.append(sound.play()) timer = 0 elif running == True and timer >= 0.3: walking.append(sound.play()) timer = 0 #discard finished sounds for a in walking: if a.playing == False: a.delete() walking.remove(a) > Sounds to be connected to objects like zombies. Those zombies then move > around the map. This changes the sound's location both when the zombie > moves and when the player moves. > It wouldn't be to hard to store playing sounds with a zombie class, but changing the sounds location around the map is abit more complicated. Is this a 2D or 3D game? I must confess, I haven't played with these particular features in pyglet yet, but I think you could use the Position variable on a Player sound object to set its position in 3D space, and then set up a Listener for the players position to "hear" it. You can change the Listeners orientation with _set_forward_orientation, and adjust the direction of the playing sound with player.cone_orientation. All of these take 3 tuple xyz floats for coordinates. I've poked around abit in the pyget.media source, for the moment you can try calling pyglet.media._LegacyListener(), since it seems like the newer Listener object may not be fully implemented yet. So for example: sound = pyglet.resource.media('walking.wav') walking = sound.play() walking.position = (-5.0, 0.0, 0.0) #xyz, off to the left of listener listener = pyglet.media._LegacyListener() listener.position = (0.0, 0.0, 0.0) When the zombie is behind the player, I would like it to lower in pitch. > You could try doing this by calculating the relative position and orientation between the zombie and player, then adjusting any stored playing sounds pitch, IE: player.pitch = (1.0). -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To post to this group, send email to pyglet-users@googlegroups.com. Visit this group at http://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.