I'm getting the issue as well. It's being caused because clocks are 
imperfect.

This is not something that can be easily fixed in pyglet, but can be 
avoided by restructuring your code to have only a single scheduled function:

import pyglet

window = pyglet.window.Window(800,600, vsync=False)
fps_display = pyglet.clock.ClockDisplay(color=(1,0,0,0.5))

batch = pyglet.graphics.Batch()
    
tileImg = pyglet.image.load("image.png")

playerImg = pyglet.image.load("image2.png")

group = pyglet.graphics.Group()

sprites = []
for i in range(50):
    for j in range(50):
        sprites.append(pyglet.sprite.Sprite(tileImg, x=i*32, y=j*32, batch=
batch))

playerSprite = pyglet.sprite.Sprite(playerImg, x=50, y=50, batch=batch)

x_speed = 0
y_speed = 0

@window.event
def on_draw():
    window.clear()
    batch.draw()
    
def moveChar(dt):
    playerSprite.x += x_speed
    playerSprite.y += y_speed

pyglet.clock.schedule_interval(moveChar, 1/60.0)

@window.event
def on_key_press(symbol,modifiers):
    global x_speed
    global y_speed
    if symbol == pyglet.window.key.LEFT:
        x_speed -= 1
    elif symbol == pyglet.window.key.RIGHT:
        x_speed += 1
    elif symbol == pyglet.window.key.UP:
        y_speed += 1
    elif symbol == pyglet.window.key.DOWN:
        y_speed -= 1

                
pyglet.app.run()


-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to