Skip to content

親子関係を持つノードの間でIsDrawnActuallyの状態が同期されないことがある #721

@numanicloud

Description

@numanicloud

Describe the bug/概要

親子関係のあるノード群で、親ノードが IsDrawn == false の状態で親を Engine.AddNode すると子が IsDrawnActually == true になる問題があるみたいです。

Environment/環境

  • OS:
    Windows 11

  • Graphics:

  • Altseed2 version:
    2.2.2

To Reproduce/再現手順

以下のコードで再現します。
最初の100フレームの間は親が表示されず、子は表示されます。
次の100フレームの間は親は表示され、子も表示されます。
その後は、親も子も表示されません。

using Altseed2;

Engine.Initialize("AltseedIsDrawnError", 640, 480);

var node = new CircleNode()
{
	Color = new Color(255, 255, 255, 255),
	Position = new Vector2F(320, 240),
	Radius = 5
};

var node2 = new CircleNode()
{
	Color = new Color(255, 0, 0, 255),
	Position = new Vector2F(40, 40),
	Radius = 5
};

node.AddChildNode(node2);
node.IsDrawn = false;
Engine.AddNode(node);

int frame = 0;

while (Engine.DoEvents())
{
	Engine.Update();
	++frame;

	if (frame == 100)
	{
		node.IsDrawn = true;
	}
	else if (frame == 200)
	{
		node.IsDrawn = false;
	}
}

Engine.Terminate();

Expected behavior/期待される動作

上のコードで、起動した直後から親ノードも子ノードも表示されないほうが望ましいのではないかと思います。

Screenshots/スクリーンショット

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions