Cocos2d Python Sprite Изменение изображения - PullRequest
0 голосов
/ 03 мая 2020

Я не знаю, как изменить спрайт при наведении курсора мыши на спрайт в cocos2d (python).

class cubeStar(cocos.layer.Layer):
    is_event_handler = True

    def __init__(self):
        super().__init__()
        self.sta = pyglet.image.ImageGrid(pyglet.image.load("starSprite.png"), 1, 2, item_width=124, item_height=124)#load the image, spritesheet
        self.anim = pyglet.image.Animation.from_image_sequence(self.sta[1:], 0, loop=False)#loading the second part of spritesheet as default
        self.cStar = cocos.sprite.Sprite(self.anim, anchor=(0, 0))
        self.cStar.scale = 0.5
        self.add(self.cStar)

    def positionMake(self, x, y):
        self.cStar.position = (x, y)

    def on_mouse_motion(self, x, y, dx, dy):
        if mouseOnSprite(x, y, 0, 0, self.cStar.x, self.cStar.y, self.cStar.width, self.cStar.height):
            self.cStar = pyglet.image.Animation.from_image_sequence(self.sta[0:], 0, loop=False)#here is the problem. I want to change the sprite to the second part of the spritesheet when mouse moves into the box. I tested everything else but it works, its just this.

Также: если вам нужна ошибка: ее нет. остальная часть программы работает нормально, но она не изменится

spritesheet: spritesheet с 2 полями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...