gpt4 book ai didi

iOS:使用 Sprite Kit 实现用户控制的相机 "zoom"

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:30 27 4
gpt4 key购买 nike

我有一个可以运行的 2D 平台游戏 引擎,它封装了 Sprite Kit。要实现滚动世界 ,我 遵循 Apple 在高级场景处理文档中的指导 :我的场景包含一个世界;世界包含所有节点,包括相机节点。

现在我正在制作关卡编辑器,它也工作得很好。这是我的问题:我不知道如何在关卡编辑器中“放大和缩小相机”

我搜索并找到了this question关于堆栈溢出 使用 DogCoffee 的回答, 我能够实现看起来正确但导致 Sprite 节点位置不正确的缩放行为(在我的编辑器中,当放大或缩小时,我无法再选择 Sprite )。

我应该如何缩放我的相机?或者,我应该如何在缩放操作后调整我的对象位置?

如果您有经过测试的解决方案,我会洗耳恭听。我是说……眼睛。是的。

最佳答案

好的,这就是当您忽略分数较低的答案时会发生的情况。 重新审视我在上面链接到的同一个问题,我尝试了 JKallio 的答案并使其有效。

这是我的实现的简要概述(经过重新设计,没有我的个人类名):

在我的 UI 管理器中:

- (IBAction)pressedZoomIn:(id)sender
{
CGFloat newZoom = [EditorState zoom] - 0.1f;
[EditorState setZoom:newZoom];
[EditorState currentScene].size = CGSizeMake([EditorState currentScene].size.width * newZoom,
[EditorState currentScene].size.height * newZoom);
}
- (IBAction)pressedZoomOut:(id)sender
{
CGFloat newZoom = [EditorState zoom] + 0.1f;
[EditorState setZoom:newZoom];
[EditorState currentScene].size = CGSizeMake([EditorState currentScene].size.width * newZoom,
[EditorState currentScene].size.height * newZoom);
}

此解决方案确实为您的缩放控件提供了一些“惯性”,但它适用于我正在做的事情。

关于iOS:使用 Sprite Kit 实现用户控制的相机 "zoom",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026967/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com