Patch Sprite Color Batching and Default Sprite Color#3497
Open
RapperGF wants to merge 1 commit intoHaxeFlixel:devfrom
Open
Patch Sprite Color Batching and Default Sprite Color#3497RapperGF wants to merge 1 commit intoHaxeFlixel:devfrom
RapperGF wants to merge 1 commit intoHaxeFlixel:devfrom
Conversation
- Defaults all FlxSprites to Transparent tinting which indicates ZERO tint. - Adds the ability for all sprites to batch with any color. - To disable a color tint set the color property to 0x00000000
Contributor
|
fire 🔥 |
| var isColored = (transform != null #if !html5 && transform.hasRGBMultipliers() #end); | ||
| var isColored:Bool = false; | ||
| if(transform != null) { | ||
| if(#if !html5 transform.hasRGBMultipliers() #else true #end || colored) |
Contributor
There was a problem hiding this comment.
cant you just like
isColored = #if !html5 transform.hasRGBMultipliers() || #end colored;
Author
There was a problem hiding this comment.
Yeah you can! I did it like a separated if for clarity.
Member
|
Moving off of the 6.1.2 release. changing the default color is a breaking change and a somewhat hacky fix, imo |
|
Wouldn't this potentially break alpha related stuffs when a sprite is black? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, in HaxeFlixel, attempting to batch multiple FlxSprites with color transforms causes batching to break.
If any sprite has a color that is not pure white, it will batch. This causes sprites to be drawn in separate colored batches, even if the color is set.
This PR changes the default color of sprites to
FlxColor.TRANSPARENT(effectively zero tinting) while still respecting all colors, includingFlxColor.WHITEWith this change:
FlxColor.WHITEwill be batched together without altering their original colors.FlxColor.TRANSPARENT) will render with no tint, restoring previous behavior.Previous Behavior:
New Behavior:
Example project: