flame_svg: Add support to load SVG files as Path objects for collision purposes
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
- #4121 de @adario — cerrado sin fusionar
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 15/100
Línea de trabajo
The issue describes existing entry points Svg, SvgComponent, PathComponent, PathHitbox, and SpriteAnimationComponent, but gives no target files or tests. Read the flame_svg implementation and the linked PR #4121 first; the PR already has the proposed implementation. Done would include SVG paths that render at arbitrary sizes, support collision detection, and can be used for frame animation.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem to solve
Currently, flame_svg supports loading SVG files for rendering purposes only: class Svg keeps the PictureInfo created by the vector graphics compiler, which is rendered offscreen as an Image at the target size, and kept in a MemoryCache mapped by size; class SvgComponent supports rendering the SVG as a PositionComponent subclass. Therefore, an SVG file is essentially treated as a bitmap instead of a vector image.
Proposal
Add classes to load SVG files as a collection of Path objects, which allow:
- rendering at arbitrary sizes, similarly to
PathComponent - collision detection, similarly to
PathHitbox - frame animation, similarly to
SpriteAnimationComponent
More information
I have opened PR #4121 the proposed implementation; there's a couple of new examples in the testbed:
CollidableSvgPathsExampleshows collision detection between SVG filesSvgPathsAnimationExampleshows how to use multiple SVG files as animation frames
Other
- Are you interested in working on a PR for this?
- Lenguaje dominante
- Dart
- Estrellas
- 10.8k
- Forks
- 1.1k
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 53
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de flame-engine/flame
-
enhancement v2
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
flame-engine/flame#4116 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
flame-engine/flame#4063 ·
Los mantenedores suelen responder en 1 día
-
TextComponent shadows are not affected by OpacityEffectPosiblemente ocupada @spydon la tomó hace 45 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
flame-engine/flame#4013 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
flame-engine/flame#4012 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
flame-engine/flame#3974 · 6 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de flame-engine/flame
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
AOSSIE-Org/Ell-ena#356 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
espresso3389/pdfrx#776 ·
Los mantenedores suelen responder en 1 día
-
breaking
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
rrousselGit/riverpod#4942 ·
Los mantenedores suelen responder en 1 día
-
feat(reputation): show the source of an attestation before importing itPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
MostroP2P/app#881 · 1 comentario ·
Los mantenedores suelen responder en 1 día