のーとぶっく

学んだことをまとめておく学習帳および備忘録

【Swift/SpriteKit】SKSceneでタッチイベント

タッチイベント時にしょっちゅう使いそうなことをメモ。 タッチ感知の種類 // 画面に指が触れた瞬間の処理 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { // code } // 指が触れたまま動かした時の処理 override func touchesMoved(_</uitouch>…

【Swift/SpriteKit】SKActionを制御する【繰り返しなど】

SKActionを扱う際の基本的なことだけの簡単なメモを。 アクションを順番に実行する(シーケンス) // 右へ50移動 let move = SKAction.moveBy(x: +50, y: 0, duration: 0.2) // 左へ50移動 let moveRev = move.reversed() // アクション配列をシーケンスにす…

【Swift/SpriteKit】SKActionでオブジェクトを動かす

オブジェクトを動かす際の基本的なことだけの簡単なメモを。 移動 移動量を指定して移動 // アクションのインスタンスを生成 // 移動距離と速度を指定 let move = SKAction.moveBy(x: +10, y: -50, duration: 0.2) // 実行 sprite.run(move) 到着点を指定し…

【Swift/SpriteKit】SKShapeNodeで図形オブジェクトを置く

図形オブジェクトを置く際の基本的なことだけの簡単なメモを。四角以外の多角形は省略。 四角 // 図形ノードのインスタンス生成・サイズ指定 let rectShape = SKShapeNode(rectOf: CGSize(width: 30, height: 30)) // 塗りの色 rectShape.fillColor = .black…

【Swift/SpriteKit】SKLabelNodeで文字オブジェクトを置く

文字オブジェクトを置く際の基本的なことだけの簡単なメモを。 // ラベルノードのインスタンスを生成 let sampleText = SKLabelNode() // 表示する文字列を指定 sampleText.text = "Hello!" // 文字の大きさを指定 sampleText.fontSize = 60 // 文字色を指定…

【Swift/SpriteKit】SKSpriteNodeで画像のオブジェクトを置く

画像オブジェクトを置く際の基本的なことだけの簡単なメモを。 // スプライトのインスタンスを生成 let sampleSprite = SKSpriteNode() // スプライトの画像をセット sampleSprite.texture = SKTexture(imageNamed: "sampleImage") // スプライトのサイズを…

【デザイン】デザインの4原則を学ぶ

デザインの4原則とは 情報をわかりやすく伝えるためには欠かせない、デザインレイアウトの基本中の基本。 近接 整列 反復 対比 4つの原則それぞれが相互に関係しあって成り立つため、基本的には、どれかひとつの原則を独立させることはない。 1. 近接 同じ括…

ChordPicks 公開終了のお知らせ

2020年6月にリリースいたしました「ChordPicks」の公開およびサポートを2020年12月31日をもって終了いたします。少数とはいえ、ちょっとでも触ってみてくださった方々、短い間でしたが本当にありがとうございました!またの機会がありましたら、よろしくお願…

iOSアプリ「ChordPicks」リリースしました!

iOS

先日、ようやっとiOSアプリ第1作目をリリースしました。 「ChordPicks」 https://apps.apple.com/jp/app/chordpicks/id1517211925 作編曲補助ツールで、画面に一覧表示されたコードをタップして和音を鳴らすアプリです。 これからアップデートを重ねて、より…

【Swift】非同期処理 - GCD -

動作確認環境 Xcode: 11.3.1 Swift: 5.1.3 同期処理・非同期処理 同期処理 同期処理とは、プログラムを上から順に実行していくこと。 Aの処理が終わったらBの処理。Bが終わったらCへ。しかし、Aが時間のかかる処理だった場合、Bを実行するにはAの完了を待た…

【Swift】クロージャの基礎

動作確認環境 Xcode: 11.3.1 Swift: 5.1.3 目次 動作確認環境 目次 クロージャとは? 型 型を省略 引数 引数名を簡略化する クロージャを引数にする escaping autoclosure トレイリングクロージャ キャプチャ 関数をクロージャとして扱う 参考 クロージャと…

【Swift/UIKit】ドラッグ移動で形合わせパズル

hirakana.hatenablog.jp↑ UIView をドラッグ移動させる方法の練習がてら簡単質素なパズルを作った。 コード import UIKit class ViewController: UIViewController { @IBOutlet weak var bookImage: UIImageView! @IBOutlet weak var cloudImage: UIImageVie…

【Swift/UIKit】ドラッグで UIView を動かす

スーッと指で UIView を動かす処理を書き置き。 ドラッグ中に細かく何度も呼び出されるメソッド touchesMoved(_:with:) を使用する。 イメージ メソッドで行う処理のイメージはこんな感じ 指でドラッグを開始した位置(座標)と終了した(動かしてる途中でも…

【Swift/UIKit】TableView のセル並び替えでセクション跨ぎを防ぐ

使いどきはわからないが、セルを並び替える際にセクションを跨いで並び替えられないようにする方法をちょいメモ。(並び替え可能にする工程は割愛) //セルに当てはめる配列 var cellTitles = [ ["アイテム1", "アイテム2", "アイテム3"], ["アイテム1", "ア…

【Swift/UIKit】UISegmentedControl & UIPageViewController でスワイプ画面切り替え

hirakana.hatenablog.jp↑の横スライドで画面切り替えする PageViewController の上部に UISegmentedControl を加える方法を。 Storyboard を設定 ViewController 上部に Navigation Bar を設置 Navigation Bar 配下に Segmented Control を設置し、項目名を…

【Swift/UIKit】UISegmentedControl の使い方

UISegmentedControl が表示されるまでの最低限の使い方をば。 コードで実装 変数を宣言 var segCon: UISegmentedControl! 表示する項目名の配列を用意する let segTitle = ["肥後", "上島", "寺門"] 配列を指定して初期化 segCon = UISegmentedControl(items…

【Swift/UIKit】UICollectionView の使い方

UICollectionView が表示されるまでの最低限の使い方をざっくり。 コードで実装 変数を宣言 var collectionView: UICollectionView! レイアウトを用意 let layout = UICollectionViewFlowLayout() //任意で調整 layout.sectionInset = UIEdgeInsets(top: 10,…

【Swift/UIKit】UIPageViewController でページを扱う

左右のスワイプでページングさせる 左右にスワイプし、ViewController を表示する。 仕組みとしては、ページを移動する度に前後のページを準備しておくといった感じ。 実装 ベースとなる UIPageViewController のクラスを用意。これに書いていく。 class Pag…

【Swift/UIKit】UIScrollView と UIPageControl で横スライドするページを作る

UIScrollView でページを作る ページといっても擬似的なページで、トイレットペーパーのように連続的に続く view に一定間隔(1ページ分の幅)でオブジェクトを貼り付けていく感じ。 実装 ViewController のプロパティとして変数を宣言。 var scrollView: UI…

【Swift/UIKit】タップ・長押し・スワイプを認識させる

いくつかある UIGestureRecognizer の中からタップ・長押し・スワイプの実装方法をメモ。それぞれの細かいプロパティについては割愛して、とりあえず動くところまでをば。 UITapGestureRecognizer(タップ) インスタンスを生成。 let tapGesture = UITapGes…

【Swift/UIKit】オートレイアウトをコードで書く

オートレイアウトをStoryboard 上ではなく、コードで書く方法がわからなかったのでメモ。 NSLayoutAnchor でオートレイアウトを書く 自動調整をオフ まず制約を手動で設定していくため、上下左右のマージン、幅・高さを自動調整する AutoresizingMask をオフ…

【Swift/UIKit】カスタムビューで共通の View を使う

複数の ViewController で共通の View を表示したい場合、カスタムビューを用いて一括で管理することができる。 実装手順 カスタムビューを管理するクラスを作成 カスタムビューの xib を作成 ViewController でインスタンス化 1. カスタムビューを管理する…

【クソゲー】もぐらたたきを作ってみた

・AVFoundation ・UserDefaults ・Timer ・Google AdMobなどなどを組み合わせる練習もかねて、何とも言えないクソゲー「もぐらたたき」を作ってみた。本当はステージ終了後、インタースティシャル広告(テスト版)が表示されるが、画面収録では表示されない…

【Swift】エラー処理(Error, do-catch など)

do-catch 文や try あたりの用途がよくわからないままフワフワしていたので、簡単な使い方を残す。文字をメソッドに渡して、空文字か10文字以上ならエラーが発生、そうでなければそのままコンソールに出力するという流れを作って試してみた。 1. エラーのパ…