uchidamemo

日々の勉強をまとめるためのメモが主。

Awesome Swift! - 今後の遊び

目的

仕事で初めてswiftをさわって以来、色々な言語で開発することが多くなった。 ふと振り返ったときや質問を受けたとき、さらっと確証を持って答えることが難しかった。 仕事だけでは限界があった。 そのため、できる限り思いついたことをやっていこうと言うわけである。 個人的にはswiftが1番好きというのもある。

対象者

初めてプログラミングをする人よりかは、ある程度プログラミングに馴染みを持った人や初めて1〜3年くらいでswiftが初めての人を対象にする。 基本的に思いついたときにコラムを追加していくため、下記に書く順番はあまり気にしないでほしい。

今後の遊び

前提

  1. Hello Worldを表示してみる

テキストで遊ぶ!

  1. UILabelで遊ぶ!
  2. UITextViewで遊ぶ!
  3. UITextFieldで遊ぶ!

操作で遊ぶ!

  1. UIButtonで遊ぶ!
  2. UIDatePickerで遊ぶ!
  3. UIPageControlで遊ぶ!
  4. UISegmentControlで遊ぶ!
  5. UISliderで遊ぶ!
  6. UIStepperで遊ぶ!
  7. UISwitchで遊ぶ!

コンテンツビューで遊ぶ!

  1. UIActivityIndicatorView遊ぶ!
  2. UIImageView遊ぶ!
  3. UIPickerView遊ぶ!
  4. UIProgressView遊ぶ!

コンテナビューで遊ぶ!

  1. UICollectionViewで遊ぶ!
  2. UITableViewで遊ぶ!
  3. UIStackViewで遊ぶ!
  4. UIScrollViewで遊ぶ!

バーで遊ぶ!

  1. UINavigationBarで遊ぶ!
  2. UISearchbarで遊ぶ!
  3. UIToolBarで遊ぶ!
  4. UITabBarで遊ぶ!

ビューで遊ぶ!

  1. UIViewで遊ぶ!
  2. UIViewControllerで遊ぶ!
  3. UIStoryboardで遊ぶ!
  4. UINibで遊ぶ!

ジェスチャーで遊ぶ!

  1. UITapGestureRecognizerで遊ぶ!
  2. UILongPressGestureRecognizerで遊ぶ!
  3. UIPanGestureRecognizerで遊ぶ!
  4. UIScreenEdgePanGestureRecognizerで遊ぶ!
  5. UIPinchGestureRecognizerで遊ぶ!
  6. UIRotationGestureRecognizerで遊ぶ!
  7. UISwipeGestureRecognizerで遊ぶ!

画面で遊ぶ!

  1. 画面の遷移で遊ぶ!
  2. autoLayoutで遊ぶ!
  3. xibファイルで遊ぶ!

機能で遊ぶ!

  1. ライブラリで遊ぶ!
    1. Carthageで遊ぶ!
    2. cocoapodで遊ぶ!
  2. UserDefaultで遊ぶ!
  3. マイクで遊ぶ!
  4. カメラで遊ぶ!
  5. アニメーションで遊ぶ!
  6. マップで遊ぶ!
  7. 生体認証で遊ぶ!

今日やったことまとめ

本日のお品書き

  • バイク(819)の日
  • unity 2017.4.0f androidでのスプライトタッチ判定ができないバグ修正
  • unity 2017.4.0f iphone実機テストに向けて

バイク(819)の日

8/19日はバイクの日です。1ライダーとしてバイクに乗らなければ!なんていう溢れた活力は持ち合わせておりません。ごめんR25
まぁでも18日朝2時頃から銚子の方へ日の出ツーリングをしてきたので、それで許して!
とあるバイクを将来的に買いたいなと思っておりまして、でもレア中のレア車で更に日本での販売がない。
それは輸入すればいい話なんだけど、肝心なのはメンテ。
パーツは輸入できるけど、車検はともかく点検してくれそうな店が絶望的。
だからこそもうちょいバイクに関しても部品やらメンテやらの知識をつけなければ。

unity 2017.4.0f androidでのスプライトタッチ判定ができないバグ修正

解決した。自分はタッチ判定する時タッチしていないときNONEがほしくて、

//タッチ関連
public enum TouchInfo
{
    NONE,       //タッチなし
    BEGAN,      //タッチ開始
    MOVED,      //移動
    STATIONARY, //静止
    ENDED,      //タッチ終了
    CANCELED,   //タッチキャンセル
    MAX
}

こんな感じのenumを作っていたのだが、スマホの時に返す値を
return (TouchInfo)((int)Input.GetTouch( 0 ).phase);
にしていた。unityが用意してるスマホタッチ用phaseは

public enum TouchPhase
{
    Began = 0,
    Moved = 1,
    Stationary = 2,
    Ended = 3,
    Canceled = 4
}

だから、そのまま返すとENDEDが永遠に返ってこなかった。それだけだった...それだけだったんだよ......。
return (TouchInfo)((int)Input.GetTouch( 0 ).phase + 1);
にして問題解決。

unity 2017.4.0f iphone実機テストに向けて

iMacはあるので早速xcodeをインストールした。unityをインストールしようとしたけど、バージョン問題が発生した。
今のunityってこんなにバリエーションつか使用用途別にいろいろあるんだっけ???
というかpersonalとかバージョン書いてないし、LTSのゲーム用でいっか。
とりあえず次回はmac環境にチェスを落としてビルドしてiphoneに焼く。

今日やったことまとめ

タイトルでUnity C#とか書いてあるけど、ただの日記なので勉強した言語がついてるだけで、中身はあくまでも今日1日したことを書くんです。はい。

本日のお品書き


FF14 錬金術師レベルあげ

64→66にするために素材掘ってた。ギャザラー素材なら楽なんだけど雑魚モブ由来だと途端に時間がかかってしゃーない。
でもマケが割と高めだったのでしゃーない。
MHWコラボ真っ只中、リオレウスマウントは普通の鱗交換だと思って普通のレオレウスを25週した。
上鱗じゃんと気づいたときには時すでにお寿司。
IL制限で極には行けないし、残念ながらマウントとミニオンは諦めることに。

Unity C# Android 実機でのスプライトタッチ判定

前に作ったチェスをapkでAndroidに焼いた時、スプライトのタッチ判定がなぜかできなかったので、その原因究明中。
結論から言えばまだ原因不明。
一度チェスではなくタッチ判定だけの機能を焼いたら上手くいったので、おそらくTouchParse.Endedの時のみtrueを返すif文に問題があると思われる。
引き続き調査しまーす。

日記代わりのブログを作ってみた

転職するにあたって色々と勉強が必要となった。 転職前はUnity C#で開発していた。
勉強するにあたってアウトプットする場所がほしいなーと思ったのでブログとして残すことにした。

個人開発はしてこなかった(というか前職がブラックすぎて自分のフリータイムを確保できなかった)ので、転職前にUnity C#でチェスをつくった。

exe作成済み。
apkはタッチ判定が不完全なままである。
またオンライン対戦もない。

勉強する順番

  1. チェスがAndroidでも動くようにする
  2. できればiphoneでも動くようにする
  3. PHPの参考書を1冊クリアする
  4. チェスにオンライン対戦を実装する

    途中まではやってる


まぁあまりやることばっか書いてもつまらないので、こんぐらいにしておく。
自分のGithubと今後書くだろうMarkdown記法の参考を張っておく。
ちなみにMarkdown記法で書いたのは初めてである。

Github(uchida)
Markdownの書き方メモ