Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

提供使用sprite自行组合animation资源的方法 #16

Open
BAKAOLC opened this issue Jun 14, 2023 · 1 comment
Open

提供使用sprite自行组合animation资源的方法 #16

BAKAOLC opened this issue Jun 14, 2023 · 1 comment
Labels
enhancement New feature or request resolved and waiting for review The issue has been resolved, waiting for review and feedback

Comments

@BAKAOLC
Copy link

BAKAOLC commented Jun 14, 2023

说明

由于 animation 资源的加载方案只有基于区域完全密铺的方案,导致 animation 资源在实际上是一种对资源空间利用率非常低的结构

现有方案的局限

  • 资源必须满足 m*n 的密铺结构
  • 没有类似于 margin 的参数,导致无法剔除无用像素

实际使用遇到的问题

  • 为了提高利用率会对图像做一些特殊排列,但是不一定能满足 m*n 的密铺,可能会缺少几帧
  • 为了提高空间利用率,帧位置可能会出现在不同的位置,且不一定是整齐的
  • 为了提升渲染效率,需求剔除空白像素,但由于缩放渲染的时候的边缘问题因此常规需要添加间隔来避免边缘问题
  • 为了能使用对象自身的渲染方法/避免自行渲染帧/避免自行设置帧导致各种特殊问题,导致必须使用 animation 资源

结论

综合以上来说,我认为需要实现一个新的针对 animation 的加载方案来解决这些问题

@Demonese Demonese added the enhancement New feature or request label Jun 14, 2023
@Demonese
Copy link
Contributor

在 0.20.10 中添加了新的加载方法,并进行了初步的资源对象化

目前有一点点问题:
SetAnimationCenter 和 SetAnimationScale 方法可能会和通过图片精灵列表创建的 Animation 冲突,目前的解决方法是对这种方式创建的 Animation 加个保护机制,如果尝试通过这些方法来修改状态就报错。

@Demonese Demonese added the resolved and waiting for review The issue has been resolved, waiting for review and feedback label Jun 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request resolved and waiting for review The issue has been resolved, waiting for review and feedback
Projects
None yet
Development

No branches or pull requests

2 participants