10

シーンを「ズームアウト」する正しい方法は何ですか?

画面全体に発射する衝動を適用するオブジェクトがあります。たとえば、約 100 px の範囲で発射されます。これは期待どおりに機能します。飛行する力を増やし、密度を上げて飛行を減らします。

私が抱えている問題はズームです。シーンをズームアウトする唯一の方法はsetScaleであり、すべてのノードが期待どおりに縮小されます。

しかし、オブジェクトは同じ量 (ズームアウトしただけ) ではなく、2 倍以上の距離を飛んでいます。

スケーリングの前後にオブジェクトの質量/密度などをログに記録すると、予想どおり、それらは同じです。

では、なぜ同じ量飛ばないのでしょうか? インパルスをスケールに合わせて変更しようとしましたが、うまくいきません。はい、飛行距離は短くなりますが、スケーリングでは1対1ではありません。

ひっかけ問題...

アイデアをありがとう。

4

3 に答える 3

11

SKScene をスケーリングすることは想定されていないと思います (SKScene で setScale メソッドを試してみるとヒントになるように)。代わりにサイズを変更してみてください。

myScene.scaleMode = SKSceneScaleModeAspectFill;

そして、ズームしながら:

myScene.size = CGSizeMake(myScene.size.width + dx, myScene.size.height + dy);

* Apple のドキュメントには次のように記載されています。

scaleMode プロパティを SKSceneScaleModeResizeFill に設定します。スプライト キットは、常にビューのサイズに一致するようにシーンのサイズを自動的に変更します。

于 2013-11-18T21:58:04.910 に答える