プログラム

Unity 1 Week Game Jam お題「space」

今回も参加しました 今回も参加させてもらいましたヽ(=´▽`=)ノ んで、今回もレポート書いてきます。 今回も参加しました つくったゲーム 「ちいさなぎんが」 レポート 1日目 2日目 - 3日目 4日目 5 - 6日目 6日目に徹夜しての7日目突入 利用アセット 拡張しや…

UniRxとコルーチンを組み合わせる

はじめに C#の考え方として、Delegateよりはラムダ式が好まれるようになっているようです。(C#に取り組みだして日が浅いので違ってたらすいません) ただ、ラムダ式でメソッドを呼び出して、コルーチンの結果を受けてコールバックさせると言う所で詰まってし…

Unityでパラメータ調整等のレベルデザインをiPhoneやAndroidの端末上で簡単に行う方法

概要 ゲームを作っている時に、キャラクターのステータスや移動スピード等の各種パラメータの細かい調整を何度も行うことになると思います。 ステータス等に関してはUnityのエディター上での確認で十分ですが、 アクションゲーム等の場合、やはり実際にiPhon…

iOS11でのクリップボードに文字列を渡す方法 - UIPasteboard

概要 これまでだと、以下の様にする事でクリップボードに文字列を渡すことが出来ました。 let pasteboard: UIPasteboard = UIPasteboard.general pasteboard.setValue("渡したい文字列", forPasteboardType: "public.text") ただ、このやり方はiOS11からは出…

Unity C# でメソッド名やクラス名を簡単にログ出力する方法

概要 Unityでは、swift等の他の言語にあるような「FILE」や「LINE」に相当するものはプリプロセッサが無いため、利用できません。 その為、例えば、メソッドがどのタイミングでコールされたかを埋め込むには以下のように記載しなければなりません。 Debug.Lo…

FabricのCrashlyticsのアップデートに失敗した時の回避法

Fabricとは みなさん使ってます?Fabric. Twitter社が、Crashlyticsを吸収しTwitterライブラリの導入支援に加え、クラッシュレポートをグラフィカルに確認できるようにしてくれるツールです。 (Fabricツールのイメージ) 最近では、GoogleのFirebaseのクラッ…

Firebaseのルールを設定する - UnityでFirebaseを使ったオンラインランキングシステムを作るvol4

この記事はシリーズ物です。 シリーズの記事は以下を参照ください。 www.project-unknown.jp www.project-unknown.jp www.project-unknown.jp はじめに この記事はFirebase RealtimeDatabaseのルールについて記載します。 ルールについては、Unity以外でも(i…

C# の List<T>の使い方 要素の追加・検索・削除・Linqを用いて検索

はじめに Listは動的に要素の追加や削除ができます。 配列(Array)を使っていて、配列に対して動的に要素を増やしたりで悩んだ際に、このListに行き着く人が多いのではないでしょうか。 (実際に私がそうでした) Listを扱えるようになると、コーディングの幅が…

本当に書いた怖いソース(swift編) 強制ダウンキャスト as!

はじめに どうもどうまずです。 本当に書いちゃった怖いソースをお見せしようと思います。 特に今回はクラッシュするレベルのコードです。 強制ダウンキャスト まずはこちらのソースをご覧頂きたい。 (ちなみに、コンパイルエラーにはなりません。) func c…

本当に書いた、怖いソース (swift編) viewDidLoadの肥大化 Initialization Closure

はじめに どうも、どうまずです。 本当に書いた、汚いソース第2弾です。 今回はどんな怖いソースが出てくるのか・・・・ viewDidLoad まずはこちらのソースをご覧頂きたい。 override func viewDidLoad() { super.viewDidLoad() mainCollectionView.delegat…

UnityでFirebaseのRealtimeDatabaseとデータのやり取りをする - UnityでFirebaseを使ったオンラインランキングシステムを作るvol3

この記事はシリーズ物です。 シリーズの記事は以下を参照ください。 特に本稿は、以下の2つの記事を読み終えている事前提で記載していますのでご注意ください。 www.project-unknown.jp www.project-unknown.jp www.project-unknown.jp https://assetstore.u…

本当に書いた、怖いソース(swift編) マジックナンバー

はじめに どうも、どうまずです。 私が本当に書いて指摘してもらった、汚い・危ないswiftのソースを心霊写真の紹介っぽく記載していきます! 反省も踏まえまして… 恐怖・マジックナンバー まずは、こちらのソースをご覧下さい・・・。 switch indexPath.sect…

UnityでFirebaseにTwitterアカウントでログインする機能 - UnityでFirebaseを使ったオンラインランキングシステムを作るvol2

この記事はシリーズ物です。 シリーズの記事は以下を参照ください www.project-unknown.jp www.project-unknown.jp www.project-unknown.jp やりたい事を簡潔に纏めるskill皆無な為、長いタイトルになってしまった…。 最初に懺悔いたしますと、かなり試行錯…

Twitter Kit for UnityでTwitter認証を行う - UnityでFirebaseを使ったオンラインランキングシステムを作るvol1

はじめに この記事はシリーズ物です。 シリーズの記事は以下を参照ください www.project-unknown.jp www.project-unknown.jp www.project-unknown.jp 今日はTwitter Kit for UnityでTwitter認証の記事を書きます。 アセットはこれ 最初の背景はどちらかと言…

Arbor2とUniRxで指定回数Click/Tapされたら次のStateへ遷移する機能を作る

はじめに 最近、少しずつLinqを覚え始め(C#はまだ毛が生えた程度のSkillなので)、ずっとやりたかったUniRxを使ってみました。 また、折角なので最近一番のお気に入りのAssetのArbor2と組み合わせて何か便利な挙動が作れないかしらと思い、タイトルの通りの機…

Arborを使ってハマったこと - 常駐ステート

はじめに 今日はArborを使っていて少しハマった所を記載。 事象と解決策 前回書いた以下の記事project-unknown.hatenablog.com で、扉の開閉を検知してボタンの活性/非活性を行う処理を、 最初以下のように、ボタンを押した時の処理と常駐ステートでボタンの…

開発効率を上げ、手軽に拡張できるFSM「Arbor2」紹介

この記事はUnity アセット真夏のアドベントカレンダー 2017 : ATND 17日目の記事です。 はじめに つらつらとArbor2の事例紹介の記事を書いていたら、Arbor2の作者のケットシーウェア @caitsithwareさんに、アドカレの紹介を戴いたので、勢いで参加です(∩´∀`…

ArborでuGUIのボタンを活性/非活性にする

はじめに Arbor上からuGUIのボタンのinteractableをいじりたい時のサンプルです。 凄い簡単ですが、以下のコードを「ArborButtonInteractable.cs」とかで好きな場所に保存すると、「挙動追加 > UI > Button > ボタンの活性、非活性」から使えるようになりま…

UnityのPosition周りの共通っぽい処理

Writtern by ゆう@あんのうん はじめに 以下のゲームジャムに参加し、その成果物をアプリ化すべく、現在リファクタリングを行っているのですが、 今後のゲームジャムであると私が楽になりそうな共通処理を抜き出しました。 project-unknown.hatenablog.com …

SwiftでKVO (Swift3.0)

はじめに 今日のお題はSwift(3.0)でKVO。 KeyHolderのSwift化を行っていた際に思いっきり詰まってしまったので、その備忘録です。 そもそもKVOって? KVOは、Key-Value ObservingでObjective-Cから引き継いだ機能の1つで、 指定した変数に変化があった際に、…

A* Pathfinding Project Proを使ってみる

はじめに Navmeshの使い方もままならないのに、A* Pathfindingに手を出してしまって、Sample的な使い方をしているのでそのメモ。 10,000円以上払ったのだから是非とも自分のものにしないと! A* Pathfinding Project Pro 以下は今回作ったものです。 適当にT…

Objective-CからSwiftへ移行する (AppDelegate)

はじめに ゆう@あんのうんです。 提供中のKeyHolderですが、 これ半分くらいまだObjective-Cのコードで動いています。 流石に今後の保守の事を考えると、All Swift化した方が良いと思ってがちゃがちゃ開発しているにあたり、ちょっとつまずいた所のメモ書き…

WKWebViewのSample

ゆう@あんのうんです。 ATSの問題で、WKWebViewが流行ってきました。 (WKWebViewでもUIWebViewでもNSAllowsArbitraryLoadsInWebContentが使えるので、ATSだから…と言うのは色々とミスリードな気がしてますが) ただ、ChromeアプリもWKWebViewに乗り換えたとい…

CoreDataでエンティティの新規レコードを生成し、NSManagedObjectのサブクラスにキャストしたら「Could not cast value of type 'NSManagedObject_' to」のエラー

はじめに ゆう@あんのうんです。 最近もっぱらswiftばっか開発していて、Objective-Cに戻れません。。。 今日は珍しくCoreDataの話題。 タイトル通りのエラーに悩まされており、解決したので投稿 現象 例えば、以下のCoreDataのエンティティがあるとして こ…

Unityのスプラッシュ画像表示中に、処理を止める方法 (iOS)

ゆう@あんのうんです。 例えば、Unityの初回シーンで広告を生成して表示しようとした際に、スプラッシュ画像にまで広告が出てしまう事が度々あります。 スプラッシュ画像がちゃんと非表示になったのを確認してから表示するには、初回シーンのUpdate等に以下…

Unity2d Scriptで生成したGameObjectを子として登録する。

はじめに ゆう@あんのうんです。 とあるGameObjectがあり、動的にそのGameObjectに新しいGameObjectを子として登録する方法です。 やりかた 子としてGameObjectを登録すると、親の座標移動に従って相対的に座標変更できるので、パーティクルとかでGameObjec…

Unity2d PrefabをScript上からロードする。

はじめに ゆう@あんのうんです。 喉の調子がずっと悪い…。 Prefabを作成し、それをScript上からロードするやり方です。 やりかた Prefabを 上記みたいに、Assets > Resources > Prefabs > Effectsに設置した際、 以下の用にScript上からコール出来ます。 //…

Unity2d 別のGameObjectにメッセージを送る(SendMessage)

はじめに ゆう@あんのうんです。 今日は標題のUnityのオブジェクト間の情報のやり方の1つのSendMessageについてです。 概要 例えば、アクション等で、プレイヤーキャラがダメージを受けた場合、 ゲーム全体を管理しているマネージャーにその情報を送りたい…

Unity2d SpriteのColliderが指定したワールド座標に重なってるか判定する

はじめに ゆう@あんのうんです。 Unity2d SpriteのColliderが指定したワールド座標に重なってるか判定する 単純にSpriteのCollider2dとの接触を検知する SpriteにCollider2dを設定し、そのCollider2dが指定したワールド座標と接触しているかの判定を行うた…

Unityでタップを検知する

本日2個目、ゆう@あんのうんです。 Unityでタップを判定する方法です。 画面がタップされた際に判定は以下のようにすれば、行うことが出来ます ``` void Update () { if(Input.touchCount == 1) { Debug.Log("hogehoge " ); } if (Input.GetMouseButtonDown…