首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKScene标度+ anchorPoint =奇异行为

SKScene标度+ anchorPoint =奇异行为
EN

Stack Overflow用户
提问于 2013-10-18 23:17:23
回答 2查看 2.2K关注 0票数 2

我有一个空的SKScene,它需要水平居中,所以我设置它为anchorPoint:

代码语言:javascript
复制
self.anchorPoint = CGPoint(0.5f, 0);

我还需要按SpriteKit - Set Scale and Physics缩放它,所以我对它执行了如下操作:

代码语言:javascript
复制
[self runAction:[SKAction scaleTo:0.5f duration:0.0f]];

我的问题是,当我发现触摸,我得到的位置似乎是奇怪的。我使用通常的(locationInNode:self)方法检测触摸,我目前正在添加一个蓝色方格,在触摸的位置,但是当我触摸设备的4个角落时,我看到了一个框架,它是我屏幕的四分之一(正确),但以一个看似任意的数量移动到左边。

下面是一些我已经检查过的东西:

  • 场景是在viewWillLayoutSubviews中初始化的,我知道它有正确的初始尺寸
  • 场景的scaleMode设置为SKSceneScaleModeAspectFill,但我尝试了所有这些都没有结果
EN

回答 2

Stack Overflow用户

发布于 2013-11-18 21:08:08

我为同样的问题挣扎了一段时间,但我想我终于弄明白了。你不应该放大场景(就像你尝试setScale时暗示的那样)。你应该调整尺寸的。

试试这个:

myScene.scaleMode = SKSceneScaleModeAspectFill;

然后在放大时:

myScene.size = CGSizeMake(newX, newY);

票数 2
EN

Stack Overflow用户

发布于 2013-10-29 04:36:38

将锚点设为

代码语言:javascript
复制
self.anchorPoint = CGPoint(0.5f, 0);

并将场景缩放模式设置为适合的方面,而不是方面填充。

代码语言:javascript
复制
SKSceneScaleModeAspectFit
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19460450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档