適当なスクリプトに書いておく
using UnityEngine;
using System.Collections;
//グローバル変数(整数)と自作クラス、構造体の定義
public class Global : MonoBehaviour {
public static int TILESIZE = 16;
}
[System.Serializable]
public struct Vector2Int
{
public int x;
public int y;
}
Hierarchyに存在しなくても読み込まれるっぽい。
Global.TILESIZEみたいにアクセスする。
http://unity2dgame.blogspot.jp/2013/06/unity-2d-game-public-static.html
参考
http://panzersoft.blog.fc2.com/blog-entry-65.html
参考
DontDestroyOnLoad()は便利そう
2014年10月18日土曜日
2014年10月15日水曜日
Unityでドットゲーを製作
○各画像の設定
・Pixel to Unit - 1 (画像の1ピクセルをゲーム内座標1に対応)
・Filter - point (フィルタ無しでくっきり)
○カメラサイズ
・size - 縦のドット数÷2
○ゲーム画面解像度
・カメラのサイズの整数倍
例)
320 * 240の画面を縦横2倍に拡大(2*2で1ドットに対応、洞窟物語とか)の場合、
sizeを120、カメラのサイズを640*480にすればok。
描画もドットバイドットにするにはスクリプトで処理が必要。
transformに渡す座標は表示用に限定し、実際の座標は別変数で保持。
フレーム処理の最後にtransform.position.x = Mathf.Floor(pos.x);みたいな処理を入れる。
※Mathf.Floor - 小数点以下切り捨て
※C#だとintでキャストすると0の方向に切り捨てられる((int)(-1.5f)は-1になる)らしい。
Pivotをcenterにしたとき基準の座標は右上基準(Unityでは右上が正)
□□□□
□□■□
□□□□
□□□□
当たり判定は真の座標で処理すべき?
見た目の座標で処理すべき?
・Pixel to Unit - 1 (画像の1ピクセルをゲーム内座標1に対応)
・Filter - point (フィルタ無しでくっきり)
○カメラサイズ
・size - 縦のドット数÷2
○ゲーム画面解像度
・カメラのサイズの整数倍
例)
320 * 240の画面を縦横2倍に拡大(2*2で1ドットに対応、洞窟物語とか)の場合、
sizeを120、カメラのサイズを640*480にすればok。
描画もドットバイドットにするにはスクリプトで処理が必要。
transformに渡す座標は表示用に限定し、実際の座標は別変数で保持。
フレーム処理の最後にtransform.position.x = Mathf.Floor(pos.x);みたいな処理を入れる。
※Mathf.Floor - 小数点以下切り捨て
※C#だとintでキャストすると0の方向に切り捨てられる((int)(-1.5f)は-1になる)らしい。
Pivotをcenterにしたとき基準の座標は右上基準(Unityでは右上が正)
□□□□
□□■□
□□□□
□□□□
当たり判定は真の座標で処理すべき?
見た目の座標で処理すべき?
2014年10月10日金曜日
マップエディタ
http://www.mapeditor.org/
最強説。
pingでexportできてcvsデータをunityに渡して管理もできる。
http://www.fenrir-inc.com/jp/pictbear/
ドット絵描きやすい。
結局rigidbody2Dはドットのゲームには向かない。
タイルでレベルデザインするのは楽しいけどドットじゃないと映えない。
でもドットだとrigidbody2Dとかに頼るのはきついのかも。
最強説。
pingでexportできてcvsデータをunityに渡して管理もできる。
http://www.fenrir-inc.com/jp/pictbear/
ドット絵描きやすい。
結局rigidbody2Dはドットのゲームには向かない。
タイルでレベルデザインするのは楽しいけどドットじゃないと映えない。
でもドットだとrigidbody2Dとかに頼るのはきついのかも。
Unity Tutorial 2DShootingを終えて
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/
終わった。
C#わからん。IEnumerateとyieldは大体でしか理解できなかったが、ゲームで使う分には使いこなせると思う。
参考になった実装方法
・Mathf.Clampで移動範囲制限
・DeathAreaから出たらオブジェクト削除←便利
あたり判定でレイヤーが出てきたけどごちゃごちゃするし結局タグを設定してスクリプト内で判定させる方法がメインになりそう。レイヤーで当たり判定を設定するのは完全にゲームの構想が決まってからでないと怖いと思う。
あと無敵で判定が消えるのをアニメーション内で設定するのもなんか違和感を感じる。Playerクラスのメンバに無敵時間変数を設定して、それを参照してアニメーション時間も合わせる方法は無いのかな。
http://d.hatena.ne.jp/nakamura001/20110712/1310441315
PlayerPrefsクラスはデータの保存にすげー便利。
http://bribser.co.jp/blog/post-1206/
コリジョン。
終わった。
C#わからん。IEnumerateとyieldは大体でしか理解できなかったが、ゲームで使う分には使いこなせると思う。
参考になった実装方法
・Mathf.Clampで移動範囲制限
・DeathAreaから出たらオブジェクト削除←便利
あたり判定でレイヤーが出てきたけどごちゃごちゃするし結局タグを設定してスクリプト内で判定させる方法がメインになりそう。レイヤーで当たり判定を設定するのは完全にゲームの構想が決まってからでないと怖いと思う。
あと無敵で判定が消えるのをアニメーション内で設定するのもなんか違和感を感じる。Playerクラスのメンバに無敵時間変数を設定して、それを参照してアニメーション時間も合わせる方法は無いのかな。
http://d.hatena.ne.jp/nakamura001/20110712/1310441315
PlayerPrefsクラスはデータの保存にすげー便利。
http://bribser.co.jp/blog/post-1206/
コリジョン。
2014年10月7日火曜日
javascriptからC#へ
javascriptで開発してる人があまりに少ないのでC#へ移行。
しかしC#はemacsにあまり浸透していなかった。
flymakeとか構文チェック環境は結局作成できず。
余裕あったらflymake勉強しよう。
しかしC#はemacsにあまり浸透していなかった。
flymakeとか構文チェック環境は結局作成できず。
余裕あったらflymake勉強しよう。
2014年10月6日月曜日
Emacs導入
MonoDevelopが使いにくかったので導入した。
Windows7に導入するのは初めてだったけどわりとすんなりいった。
http://yoshiiz.blog129.fc2.com/blog-entry-794.html
環境変数設定せなね。
http://d.hatena.ne.jp/sandai/20120304/p2
ついでにカスタマイズ見直し。
[External Tools] -> [External Script Editor] -> [Browse]
で普通にrunemacs.exe選んで問題無かったのでこれでok。
http://blogs.unity3d.com/ja/2010/01/15/emacs-mode-for-unity-javascript/
emacsのUnityJavaScript用のモードがあったから入れた。
http://cx4a.org/software/auto-complete/index.ja.html
自動補完入れた。
Windows7に導入するのは初めてだったけどわりとすんなりいった。
http://yoshiiz.blog129.fc2.com/blog-entry-794.html
環境変数設定せなね。
http://d.hatena.ne.jp/sandai/20120304/p2
ついでにカスタマイズ見直し。
[External Tools] -> [External Script Editor] -> [Browse]
で普通にrunemacs.exe選んで問題無かったのでこれでok。
http://blogs.unity3d.com/ja/2010/01/15/emacs-mode-for-unity-javascript/
emacsのUnityJavaScript用のモードがあったから入れた。
http://cx4a.org/software/auto-complete/index.ja.html
自動補完入れた。
2014年10月4日土曜日
windows7で英語配列キーボードを使う
http://engineermemo.wordpress.com/2013/03/03/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AE%E9%85%8D%E5%88%97%E3%82%92%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%8B%B1%E8%AA%9E%E3%81%AB%E5%A4%89%E6%9B%B4/
レジストリいじる。
再起動いるのがめんどくさい。
http://neet.waterblue.net/2010/10/13/windows7%E3%81%A7%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%81%AE%E6%8C%87%E5%AE%9A/
キーボードごとに設定できる。
infファイルとかいじる機会なんてないだろなぁ。
レジストリいじる。
再起動いるのがめんどくさい。
http://neet.waterblue.net/2010/10/13/windows7%E3%81%A7%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%81%AE%E6%8C%87%E5%AE%9A/
キーボードごとに設定できる。
infファイルとかいじる機会なんてないだろなぁ。
登録:
投稿 (Atom)