blog.free

SourceTree・GitHubを使ってUnityプロジェクトをクローンする方法

どうもこんにちは、ちはるです。

chiharu-free.hatenablog.com

今回は上↑の記事でGitHubにコミットしたUnityのプロジェクトを、Windows機にクローン*1する手順について書いていきます。

 

0.準備するもの

  • GitHubアカウント(プロジェクトをコミット済み)
  • SourceTree
  • Unity(Unity Hub)

 

1.Unityプロジェクトをクローンする

 と言うことでクローンしていきます。

SourceTree画面

Windows版SourceTree*2を開くと、こんな感じの画面が出てきます。

アカウント欄にBitbucketとGitHubのアカウントがありますが、当然インストール直後は何も表示されていないので、「アカウントを追加」で追加しておいて下さい。

で、リモートリポジトリのアカウントを追加後、検索バーからプロジェクトを検索し、出てきたプロジェクトを選択してクローンします。

クローン画面

クローン画面はこんな感じ。

クローン元のURLが正しいことを確認し、クローン先のディレクトリ・パスを指定したらクローン実行。

無事クローンが成功すると、次のような画面が表示されると思います。

プロジェクト画面

History欄を覗いてみると、以前コミットした内容が表示されていると思うので、昔を懐かしんでみて下さい。

History

これでプロジェクトのクローンは完了です。

続いて、クローンしたプロジェクトをUnity上で開いてみます。

 

2.クローンしたプロジェクトをUnityで開く

クローンしたプロジェクトをUnityで開きます。

ここではUnity公式でサポートされている、Unity HubというUnityのプロジェクト・バージョン管理ツール経由で開きます。

このUnity Hub*3を開くと、プロジェクト画面が表示されます。

Unity Hub

このプロジェクト画面中の「リストに追加」から、1.でクローンしてきたプロジェクトを追加します。

するとプロジェクト一覧にプロジェクトが表示されるようになるので、以降はここからプロジェクトを開けるようになります。

あとは一覧に並ぶプロジェクトを選択して開くだけなのですが、ここでクローンしてきたプロジェクトと、PCに入っているUnityのバージョンが違ったりすると、プロジェクトをUnityのバージョンに合わせるか、プロジェクトにあったバージョンのUnityを改めてダウンロードし直す必要があるので、その辺りは注意して下さい。

 


と言うことで、Unityプロジェクトのクローン方法でした。

今回の手順は、既にGitHub上にコミット済みのデータをPCに取り入れるだけなので、作業量自体はたいしたことないですね。

ただ、コレは若干記事の範囲外な話の気もしますが、複数人で共同作業or個人で複数PCで開発する時、Unity本体のバージョンを合わせる必要があると思うので、その辺りが少し面倒かな、と。

まあそんなこんなで、忘備録終了です。

ここまで読んで下さり、ありがとうございました。

ではでは。

*1:簡単に言えばダウンロードのこと

*2:version 3.1.2

*3:version 2.0.0

【無料版はてブロ】TOP画面へのアクセスを記事一覧ページに自動遷移させる方法

どうもこんにちは、ちはるです。

今回は、ユーザが無料版はてなブログのTOPページにアクセス際、記事一覧ページに自動的に遷移させる方法を書いていきます。

特にアプリやゲームの開発に関係ないただの忘備録ですが、気になる方は参考までにどうぞ。

 

1.そもそも何が問題なのか

すでに無料版はてなブログを運用中の方はご存じかと思いますが、無料版の場合、ブログTOPページにアクセスすると記事が全文表示されてしまいます。

するとTOPページが縦に長くなってしまい、読者の方が読みたい記事まで飛ぶのにひたすらスクロールをしなければいけない……、そもそも見づらい……といった事態に。

そこで、TOPページには記事タイトルと簡単な紹介を列挙して、タイトルをクリックすることで記事本文に移動する、という他ブログサービスでは一般的な表示形式にしたいところですが……。

設定画面

はてなブログでは、有料版でないとこの表示形式に切り替えることができません。

さあ困った。どうしよう。

ということで、TOPページにアクセスした場合、記事一覧ページへ自動遷移するよう設定してしまいましょう。

 

2.設定方法

まず、ブログの設定画面を開き、「詳細設定」に移動します。

詳細設定画面

すると、設定項目の中に検索エンジン最適化」という項目があり、その中に「headに要素を追加」があります。

検索エンジン最適化

 ここに、以下のスクリプトを入力してください。

<script type="text/javascript">
 if( location.href == 'ブログのTOPページURL'){
 location.href='ブログのTOPページURL/archive';
}
</script>
<noscript>
<p><a href="ブログのTOPページURL/archive">ブログ名</a></p>
</noscript>

緑色で書いた部分は、各ブログのTOPページURLを入力し、紫色の部分はブログ名を記入します。

このブログだと、こんな感じ。

head設定内容

これで設定を反映させると、TOPページにアクセスすると自動的に記事一覧ページに繊維させることができます。

 


ということで、簡単な忘備録でした。

ではでは、今回はこの辺で。

ありがとうございました。

UnityとGitHubを連携させる方法

どうもこんにちは、ちはるです。

タイトル通り、UnityとGitHubの連携方法を忘備録として残しておきます。

今回はMacで連携を行う場合の操作になりますが、Windowsで行う場合も恐らく操作方法は変わらないと思います。

 

 

0.準備するもの

  • Unity
  • SourceTree
  • GitHubアカウント

 

1.プロジェクトの作成

プロジェクトを作成します。

プロジェクトを作成すると、PC内に次のようなディレクトリとファイルが出来上がります。

作成したプロジェクト

作成したプロジェクト

例示したディレクトリ内にはVisualStudioのデータ(紫色のやつ)がありますが、今は無視してください。

ソースコードをVSで書いたりなんだったりしていなければ、このデータは存在しません。

またプロジェクトの作業状況でディレクトリ内の構成も若干変わってくると思いますが、だいたいこんな感じの構成になっているはずです。

 

2.SourceTreeでローカルリポジトリ管理

続いて、1.で作成したプロジェクトをSourceTreeでローカルリポジトリとして管理できるようにします。

ダウンロードしてきたSourceTreeを立ち上げると、以下のような画面が立ち上がります。

SourceTree

この画面から

新規作成>ローカルリポジトリを作成

を選択します。

すると、「ローカルリポジトリを作成」という画面が出てくるので、次のように入力してください。

保存先パス:1.で作成したプロジェクトディレクトリのパス

名前:プロジェクト名

タイプ:Git

リモートリポジトリも作成する:チェックしない

ローカルレポジトリ作成画面

ローカルリポジトリ作成画面

「作成」ボタンを押下すると、次のようにローカルリポジトリが作成されます。

f:id:chiharu_free:20190504194525p:plain

 

3.GitHubでリモートリポジトリ作成

GitHubにリモートリポジトリを作成します。

GitHubにログイン後、画面右上の「+」から「New repository」を選択します。

するとリポジトリ作成画面に遷移するので、以下のように入力・選択してください。

Repository name:プロジェクト名

Add .gitignore:Unity

なお、リポジトリの公開範囲を「Public」または「Private」から選択できます。

リポジトリの用途に合わせて選択してください。

リモートリポジトリ作成画面

「Create repository」ボタンを押下すると、以下のような画面が表示されます。

これでリモートリポジトリの作成完了です。

リモートリポジトリ画面
 

4.ローカルリポジトリとリモートリポジトリの連携

ローカルリポジトリとリモートリポジトリを連携させます。

現段階では、まだPC内のローカルリポジトリGitHub上のリモートリポジトリが紐付いていないため、あくまで別個のリポジトリとして存在している状態です。

ですので、ローカルリポジトリにリモートリポジトリの場所を認識させ、PCで作業した内容をリモートリポジトリ上に反映できるようにしていきます。

ローカルからリモートに接続

3.の最後で登場したGitHub画面中に、緑色の「Clone or download」ボタンがあります。

そのボタンを押下するとURLが表示されるので、これをコピーします。

つづいて、SourceTreeから2.で作成したローカルリポジトリを開きます。

f:id:chiharu_free:20190504212711p:plain

するとこのような画面が表示されるので、右上の「設定」を開き、「リモート」のタブを開きます。

タブを開いたら、上でコピーしたURLを登録します。

f:id:chiharu_free:20190504213204p:plain

「OK」ボタンを押下して、GitHub上のリモートリポジトリを追加完了です。

リモートリポジトリ上の 「.gitignore」ファイルをクローンする

GitHubにリモートリポジトリを作成した際、「.gitignore」というファイルが既に出来上がっていたと思います。

このファイルをローカルリポジトリにクローン*1します。

引き続きSourceTreeを操作して、ローカルリポジトリ画面の上部にある「プル」ボタンを押下します。

するとダイアログが表示されるので、以下のように設定します。

プルダイアログ

「プルするリモートのブランチ」の選択肢に「master」がない場合、「更新」してみてください。

「OK」ボタンを押下すると、問題なければ「.gitignore」ファイルのクローンが完了します。

差分数

ちなみにこの時、リポジトリ画面の左側に表示されていたこの数字が変化したと思います。

この変化は「.gitignore」ファイルの働きによるものなので、特に問題はありません。

ローカルリポジトリのデータをコミットする

ここからは結果にコミットするお時間です。

ということで、現状ではローカルリポジトリ上にしか存在しないプロジェクトデータを、リモートリポジトリにコミット*2していきます。

コミット対象のファイル

先ほどと同じファイルステータス画面にて、コミット対象のファイルを選択します。

そしてコミットメッセージを入力後、「コミット」ボタンを押下します。

コミット画面

すると、ファイルステータス画面に今まで表示されていたファイル一覧から、コミット対象として選んだファイルが消えていると思います。

ファイル全てを選択していた場合、何も表示されていない状態となります。

この状態で、画面上部の「プッシュ」ボタンを押下します。

プッシュ画面

するとこのようなダイアログが表示されるので、プッシュ対象を選択し、「OK」ボタンを押下します。

これで、結果にコミット完了です。

ブラウザでGitHubを開き、リモートリポジトリの状態を確認してみましょう。

コミット後のGitHub画面

先ほどコミットする際に入力したコミットコメントと共に、ファイルデータが表示されていると思います。

これにてUnityとGitHubの連携完了です。

以降、ソースを書いたりしてプロジェクトの内容に変更があった場合、その都度(1機能実装した、プロジェクトのスケジュール毎、気分、etc...)SourceTreeからデータをコミットすることで、GitHub上に最新版データを保存しつつ、必要に応じて過去バージョンのデータを引っ張ってきたりできるようになります。

 


以上、UnityとGitHubの連携でした。

今回はMac上で作成したプロジェクトをGitHubにコミットするという内容でしたが、元気があればGitHub上のデータをPCにクローン・チェックアウトする手順忘備録なんかも書こうかなと思っていたりいなかったり。

駆け足な部分も多々ある記事でしたが、皆さんの作業の参考にして頂けたら幸いです。

ではでは、今回はこの辺で。

ありがとうございました。

 

追記

クローンする方法を書きました↓↓↓

chiharu-free.hatenablog.com

 

*1:簡単に言えばダウンロードのこと

*2:簡単に言えばアップロードのこと

ListViewのOnItemClickListener反応しな過ぎ問題

Androidアプリを開発中、詰まったところを忘備録としてまとめます。

今回はListViewで表示した各要素タップで何かしら処理をさせる手段についてです。

 

そもそもの発端は

「ListViewで表示した要素タップして画面遷移したい!」

 という欲求があったから。

 

が、いろいろ調べつつ実装しても、表示された要素をタップしたところでウンともスンとも言わないという……!

みんな嘘つきじゃないか……!

 

疑心暗鬼に陥りかけつつさんざん四苦八苦した挙げ句、次のような結論に至りました。

 

 ListViewで表示された要素内にonClickListenerで反応する要素が存在すると、OnItemClickListenerが反応しなくなる

 

要素内にButtonなどを配置していると、いくらListView要素をタップしたところでOnItemClickListenerが食われてしまうようです。

(この情報になかなか辿り着けなかった……)

 

以下、実装

public class SampleListViewActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //ListView用のレイアウトを設定
        setContentView(R.layout.sample_list_view);

        SampleListAdapter adapter = new SampleListAdapter(getApplicationContext());
        adapter.add(/*ここで任意のデータをadapterに渡す*/);
        
        listView = (ListView) findViewById(R.id.listView);
        //adaperをセット
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(this);
    }

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

        //ココであんな事やこんな事をさせる
    }
}

※Adapter等の使い方はグーグル先生に訊いて下さい

 

結局、ネット各所であらゆる方々が掲載しているサンプル通りに実装すれば、普通に動くよね、っていう。

疑って本当にすまんかった。

 

 では、今回何故こんなミスをしたのか?

そもそもListViewの要素をタップしてイロイロ処理をさせたいと思うまでに、以下のようなプロセスがありました。

  1. ListViewの要素にButton配置して、Button押されたらダイアログ表示して何かいろいろしたいなぁ
  2. ダイアログ表示するにはFragment使うんやろ!オイラ詳しいんだぞ!
  3. Fragmentよく分からん……どうやっても上手くいかん……
  4. よっしゃ、Button押下じゃなくて、ListViewタップでActivityを遷移して、遷移先でいろいろやったろ!(諦め)
  5. 上記のButtonを残したまま)サンプル通り実装しても何も動かん……皆嘘つきや……

その後、ButtonにOnItemClickListenerが食われてる説が急浮上し、いらない処理を消してみたらアラフシギ!

 横着はいけないね、というだけの話でした(死)

 


という感じで今回の忘備録は終了です。

千悠は アプリ開発ペーペーのクソ雑魚なのでこんな凡ミスをしましたが、もし万が一にも似たようなところで詰まっている方がいれば、少しでも力になれればと、つらつら書いてみました。

記事内でよく分からない部分があれば、恐らく千悠もよく分かってないのでグーグル先生に訊いて下さい。

ではでは、今回はこの辺で。

新年のご挨拶

明けましておめでとうございます。

千悠です。

 

このブログを開設してからこの方、まるで更新なんかしないじゃないか!

と我ながら常々思っていたのですが、今年はいろいろと物作りに注力したいため、気が向いた時にでもブログの更新もしていこうかなぁ、と。

 

読んだ本の話やら物書きやらアプリ作成のアレコレやら何やら、いろいろ頑張っていこうと思うので、よろしくお願い致します!

HP&ブログ開設

初めまして、こんにちは、千悠(ちはる)です。

 

TwitterやらFacebookやらと、自分発信の場としてSNSが大いに盛り上がりを見せている今日この頃ですが、「自分で作った物を一括閲覧できるようにしたいなぁ」と思い立ち、サクッとHPを作って更にサクッと当ブログを開設。

 

SNSだけでは、やっぱり作品の取り扱いは不便なわけで。

それにやっぱり、自作HPにコンテンツをどんどん増やしていくってのは、男のロマンなわけで(?)

 

そんなこんなでゆるりと生まれた.free( )ですが、その名前に違わず、ゆるりと自由にやっていきます。

HPは作品の格納庫として、当ブログは思い付いたときに思い付いたことを書き連ねていく形になるかなぁ、と。

 

ではでは、どうぞよろしくお願い致します。