Actuate and transparency issue

Hello.
When objects alpha changed by Actuate, this change is not applied correctly. In the following example, all numbers alpha are expected to been 1.0, which is not the case as you can see in the GIF.

package;
import motion.Actuate;
import openfl.display.Sprite;
import openfl.events.MouseEvent;
import openfl.text.*;
class Main extends Sprite {
public function new () {
	super ();
	
	alpha = 0.01;
	graphics.beginFill(0x00ff00);
	graphics.drawRect(0, 0, 100, 500);
	Actuate.tween(this, 0.5, {alpha:1}).onComplete(showNums);
}

private function showNums()
{
	var i:Int = 0;
	while (i < 20)
	{
		i++;
		addNum(i);
	}
}

private function addNum(i:Int):Void
{
    var text = new TextField();
	
	text.wordWrap = true;
    text.text =  Std.string(i);
    text.width = 100;
    text.height = 25;
	i--;
	text.x = 50;
	text.y = i *25;
	text.selectable = false;
	text.cacheAsBitmap = true;
	
	var sp:Sprite = new Sprite();
	sp.addChild(text);
	sp.buttonMode = true;
	addChild(sp);
	
	sp.x = 50;
	sp.alpha = 0;
	Actuate.tween(sp, 0.5, {x:0, alpha:1}).delay(i * 0.05);
}
}

ps: This problem occurred after updating openfl and before that the project was working properly.

Thank you for your sample!

We switched to use hardware cacheAsBitmap in more cases which seems to have revealed that we were not using the proper alpha when rendering a HW cached bitmap.

This should be resolved in the next release or try removing text.cacheAsBitmap = true; for now and it should work in the current release :slight_smile:

1 Like

Thank you! :slightly_smiling_face: