【问题标题】:How to flip a sprite among X or Y axis in cocos2d-python如何在 cocos2d-python 中的 X 或 Y 轴之间翻转精灵
【发布时间】:2015-01-12 23:48:50
【问题描述】:

我从 cocos2d for python 开始,想在它的 x(或 y)轴之间翻转一个精灵。从我收集到的信息来看,底层的 pyglet 库应该可以做到这一点,但我不知道怎么做。我试过这样:

class Ninja(cocos.sprite.Sprite):
    def __init__(self):
        super(Ninja, self).__init__("Idle__000.png")
        self.flip_x = True

我认为某处应该有一个 flip() 或 transform() 函数,但无法通过 cocos2d-python 和 pyglets 源找到任何东西。

实例化后如何翻转精灵?


替代方法:如果我不能以编程方式翻转精灵,我会 尝试将图片换成已经翻转的版本。如何 那我会这样做吗?

【问题讨论】:

    标签: sprite cocos2d-python


    【解决方案1】:

    嗨,如果 Sprite 上没有翻转方法,请尝试将属性 scale_x 或 scale_y 设置为 -1。或者制作带有比例参数的忍者精灵。有用于精灵初始化的参数列表。

    http://python.cocos2d.org/doc/api/cocos.sprite.html?highlight=cocos.sprite.sprite#cocos.sprite.Sprite

    【讨论】:

    • 我刚刚找到了这个答案,我想说它有效,但不是你想的那样。通过将 scale_x/y 属性更改为负数,实际上会使 width/height 属性也变为负数,这不是您所需要的,因为它会引起很多麻烦。我找不到更好的方法来翻转精灵,而不是稍微更改源代码,这样它就不会成为我的游戏对象的负宽度。如果你改变 width/height 属性以返回比例相乘后的绝对值,你可以使用负比例来翻转图像。
    猜你喜欢
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    相关资源
    最近更新 更多