質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SpriteKit

SpriteKitは、iOSやOS Xで使用できるApple社製の2Dゲーム開発フレームワークです。

iPad

iPadは、Appleがデザインしたタブレット型コンピュータです。iPadアプリケーションは通常Xcode IDEのObjective-Cで書かれますが、iPadアプリケーションを組むためのほかのツールを使うことも可能です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

540閲覧

【Swift】SpriteKitで配置したボタンのレイアウトがずれる

tossymotion

総合スコア22

SpriteKit

SpriteKitは、iOSやOS Xで使用できるApple社製の2Dゲーム開発フレームワークです。

iPad

iPadは、Appleがデザインしたタブレット型コンピュータです。iPadアプリケーションは通常Xcode IDEのObjective-Cで書かれますが、iPadアプリケーションを組むためのほかのツールを使うことも可能です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2017/09/16 02:34

編集2017/09/16 07:47

###前提・実現したいこと

xcode8 と swift3を使っています。
現在SwiftのSpriteKitを使って横画面でプレイする2Dゲームを作成しています。

ファイルの構成はGameViewController.swift,TitleScene.swiftの2つ。
アプリ起動時にはGameViewCotnrollerでSKViewを生成しそこにSKSceneを継承した
ゲームのタイトル画面となるTitleSceneを表示するようにしています。

実現したいことはタイトル画面の左上にゲーム全体の音量調整などを
行う設定(setting)ボタンをTitleScene.swiftにてSpriteNodeで生成し配置しているのですが、
その設定ボタンの表示位置をどのデバイスでも(iPhone,iPad)でも正しく画面左上ぎりぎりに表示したい。
SpriteNodeで作ったボタンにMain.storyboardのAutolayoutような制約をつけたい。

###問題
iOSシミュレーターで動作確認をしたところ
iPhoneのシミュレーターでは設定ボタンが期待通り画面左上ぎりぎりに配置されるのですが、
画面サイズ比率の違うiPadで確認すると設定ボタンが画面の左上ぎりぎりに
表示されず少し下にずれて表示されてしまいます。

###試したこと
今回はボタンをSpriteNodeで作成しているので
Main.stroyboardでボタン部品を配置してAutolayoutで制約ということができません。
いろいろ調べてみたのですが分からず困っております。

もしかしたら初歩的なことを聞いているかもしれませんが
ご教授いただければ大変助かります。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Stripe

2017/09/16 05:03

コードで座標を計算してボタンを配置してみては?
tossymotion

2017/09/16 10:56 編集

座標を計算というのは具体的にはどのようにすればよろしいのでしょうか? settingBtn.position = CGPoint(x: -610, y: 320) のようなコードではなくということでしょうか。
Stripe

2017/09/16 11:09

そこの-610とか320という値を計算すると言う意味です。
tossymotion

2017/09/16 12:30

ご教授ありがとうございます。一度試してみます。
guest

回答1

0

自己解決

UITraitCollectionでデバイスをiPadかiPhone判別して位置を指定することで解決いたしました。
すみませんご教授いただいたやり方がどうも分からなくて。
もう少し勉強いたします。ありがとうございました。

投稿2017/09/21 08:25

編集2017/09/22 07:17
tossymotion

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問