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

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

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

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

iPhone

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

1633閲覧

iPhoneの中にコインが入ったように見える現象のコードを教えていただけないでしょうか。

magic_yu

総合スコア5

Swift

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

iPhone

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

2クリップ

投稿2020/03/27 10:32

編集2020/03/27 10:38

たくさんの質問の中から、私の質問を見ていただきありがとうございます。
少しでも早くプログラミングを身に付け、みんなが楽しんでもらえるようなアプリ開発ができるように、努力していきたいと思っております。

私の質問は、youtubeにある、コインの手品動画なのですが、コインがiPhoneの中に入ったように見え、
またiPhoneから取り出したように見える手品が、どのようなプログラミングコードでできているのか、私もコードをかいてみたいと思い投稿しました。

画像では分かりにくいですがこのようなアプリです。
イメージ説明
コインを投げ込むとiPhoneの中にコインが入る

イメージ説明
コインをつまむ動作ができて、端までスライドさせると消える

コードの内容としては、
①画面をタップするとコインが現れる。
②iPhoneを傾けるとその方向にコインがスムーズに移動する。
③ロングタップ(?)で、画面内にあるコインを指でコントロールすることができる。
④画面の端まで持っていくと、コインが画面から抜け出すような形で消える。

という流れなのですが、どなたかコードを教えていただけないでしょうか??

とても面白い手品で、興味が沸いており、私自身でもコードを描いてみたいなと思っております。

よろしくお願いいたします。

ちなみに、参照した動画はこちらです。
https://www.youtube.com/watch?v=pb27D9vhK5A

プログラミング言語はswiftを使用しています。
Xcode ver.11.2.1 になります。

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

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

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

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

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

sakura_hana

2020/03/27 11:21

まずはこちらをご覧ください→https://teratail.com/help/question-tips アプリの作りとしては、背景にホーム画面を模した画像を1枚配置し、その上にコイン画像を表示させドラッグやスワイプ等で移動させているだけと思います。 具体的なコードは「swift 画像 ドラッグ」などやりたいことをそのままググれば大抵はやり方が出てくると思います。 (もし質問主さんが初めてプログラムをするなら、先にチュートリアル的なものをこなした方がいいかもしれません) それでもなお質問がある場合は上記のヒントに添い、自分で調べたこと・試したこと・何が問題なのかを質問に追記してください。
magic_yu

2020/03/27 13:13

コメントありがとうございます。 試行錯誤しないまま質問してしまい大変申し訳ございません。 以後気をつけます。m(_ _)m
guest

回答1

0

ベストアンサー

コードの内容としては、
①画面をタップするとコインが現れる。

下記(3)のコードに手を入れて、初回のタップの瞬間にViewを表示するようにすれば良さそうな気がします。

②iPhoneを傾けるとその方向にコインがスムーズに移動する。

CoreMotion で重力加速度を得て、それに応じてコイン(の形をしたView)を動かせばいいように思います。

重力加速度を取得するサンプルは、FaBo Swift Docs加速度センサーの値を取得などにあります。

リンク先のサンプルにはSwift 2.3のサンプルもあるようです(タグがSwift 2なので一応)。

③ロングタップ(?)で、画面内にあるコインを指でコントロールすることができる。

上記と同じサイトのドラッグでViewを移動させるでViewをドラッグで移動させる例があります。

④画面の端まで持っていくと、コインが画面から抜け出すような形で消える。

端を検出して、そのタイミングでViewを消せば良さそうな気がします。

たぶん、物理モデルを導入するほどでもないと思いますが、物理モデルを導入するならUIViewに重力を適用させるが参考になりそうです。

投稿2020/03/27 11:14

TsukubaDepot

総合スコア5086

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

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

TsukubaDepot

2020/03/27 11:52

もしかしたら、最初のコイン表示は「shake motion」を検知しているのかもしれませんね(動画を見ると端末を振った後にコインを表示している)。
magic_yu

2020/03/27 13:18

CoreMotionを使うんですね! 丁寧に解説していただきありがとうございます。本当に助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問