移除节点和删除节点的区别
<p>在996引擎中,<code>removeAllChildren</code>和<code>removeFromParent</code>的区别是这样的:</p><ol>
<li><code>GUI:removeAllChildren(widget)</code></li>
</ol>
<ul>
<li>只移除该节点下的所有子节点</li>
<li>父节点本身仍然存在</li>
<li>相当于清空容器</li>
</ul>
<pre><code class="language-lua">-- 示例代码:
local parent = GUI:Widget_Create(nil, "parent", 100, 100, 200, 200)
local child1 = GUI:Button_Create(parent, "btn1", 10, 10, "res/public/1900000612.png")
local child2 = GUI:Button_Create(parent, "btn2", 50, 50, "res/public/1900000612.png")
-- 只移除所有子节点,parent仍然存在
GUI:removeAllChildren(parent)
</code></pre>
<ol start="2">
<li><code>GUI:removeFromParent(widget)</code></li>
</ol>
<ul>
<li>将该节点从其父节点中移除</li>
<li>节点本身会被销毁</li>
<li>相当于删除这个节点</li>
</ul>
<pre><code class="language-lua">-- 示例代码:
local parent = GUI:Widget_Create(nil, "parent", 100, 100, 200, 200)
local child = GUI:Button_Create(parent, "btn", 10, 10, "res/public/1900000612.png")
-- 将child从parent中移除并销毁
GUI:removeFromParent(child)
</code></pre>
<p>简单来说:</p>
<ul>
<li>想清空容器用<code>removeAllChildren</code></li>
<li>想彻底删除某个节点用<code>removeFromParent</code></li>
</ul>
页:
[1]