菜鸟教程小白 发表于 2022-12-12 09:44:52

iOS - 将点从一个坐标系转换为另一个坐标系


                                            <p><p>我的图标是节点“shelf”的子节点,它是“self”(场景)的子节点。我也有节点“vehicle”的子节点的装饰,它也是“self”的子节点。</p>

<p>当一个图标从货架上拖到车辆上时,图标节点会被移除,并在其位置生成一个装饰节点,该节点是“车辆”而不是“货架”的子节点。这是一个问题:装饰节点生成时,由于“货架”和“车辆”的坐标系不协调,它在场景中跳得很远。</p>

<p>如何将新的装饰节点从它在“货架”节点中的位置转换为它在“车辆”中的新位置,使其不会跳跃?</p>

<p>(如果您需要,我可以发布代码,但它会很长而且很乱。)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>假设您使用的是 Sprite Kit,您可以使用 SKNode 方法 <code>convertPoint:toNode:</code> 在坐标系之间转换点。</p>

<p>因此,例如,一旦在车辆节点的顶部拖动结束:</p>

<pre><code>CGPoint iconPos = iconNode.position; // this is position on shelf node
iconPos = ;

// ... remove iconNode from shelfNode
// ... make new decorationNode

decorationNode.position = iconPos; // this is now position on vehicle node

// ... add decorationNode to vehicleNode
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS - 将点从一个坐标系转换为另一个坐标系,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23585975/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23585975/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS - 将点从一个坐标系转换为另一个坐标系