タグ

ブックマーク / www.nsnq.tech (39)

  • Unityで学ぶプログラミング  テトリス的を作る(15)まとめと、本のお話 - にしのクエスト2

    こんにちは! www.nsnq.tech テトリス的なものを作っていきます、の最終回です。 難しい内容でしたし、途中で色々と変更したり間違ったりで ・・・大変お見苦しい連載でした。申し訳ない。 まとめ 今回の連載のポイントとしては、Unityのオブジェクトと当た り判定を利用した「らしい」テトリスではなく、ブロックの 色を変化させることでテトリスの世界を表現してみるという。 ある意味、「旧来型」のテトリスの再現であったといえます。 私は「コウのポケット」さん(多分もう、ないのかもしれな いです)でテトリスの作り方を学んだので、どちらかという とそれに近い、リスペクト&進化した形でできたことが、良 かったかなと思っています。偉大なる先輩への恩返しみたい な、勝手にそんな気持ちになっているのです。 読んでいただき、 当にありがとうございました! 次は何を作ろうかな! のお話です なんとか、

    Unityで学ぶプログラミング  テトリス的を作る(15)まとめと、本のお話 - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(12)ゲームオーバーの判定 - にしのクエスト2

    こんにちは! テトリス的なものを作っていきます。長い連載になりますの で、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はゲームオーバーの判定です! 短いです。とりあえず、上まで積み上がったらゲームオーバーで プログラムが終わるようにします(当はリプレイ?とかあるんでしょうが) まずは変数を追加します。 //gameOverの判定 int gameOverFlag=0; ゲームオーバーかどうかは、makeBlk()の段階で判

    Unityで学ぶプログラミング  テトリス的を作る(12)ゲームオーバーの判定 - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(9)ブロックの積み重ね - にしのクエスト2

    こんにちは! テトリス的なものを作っていきます。長い連載になりますの で、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はブロックを次々と降らせてみましょう 動けなくなったブロックは一旦、ステージに保存しておきます。 そして、再度ブロックを作成しますが。 ブロック作成部分に、初期位置を追加します。 {0,1,0,0}}; break; default: break; } //ブロックを初期位置にする x=5; y=0; //フ

    Unityで学ぶプログラミング  テトリス的を作る(9)ブロックの積み重ね - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(10)ブロックの回転 - にしのクエスト2

    こんにちは! テトリス的なものを作っていきます。長い連載になりますの で、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はブロックを回転させます スペースキーを押すと、回転するようにしましょう。 なので、update部分に次のようなものを追加して。 //回転させる場合(スペースキー) if(Input.GetKey(KeyCode.Space)){ TurnBlk(); } 新しくTurnBlkのプログラムを書いていきます。

    Unityで学ぶプログラミング  テトリス的を作る(10)ブロックの回転 - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(8)左右の移動 - にしのクエスト2

    こんにちは! 今回からテトリス的なものを作っていきます。長い連載にな りますので、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回は左右の移動をします 今回はちょっとだけです(笑 //時間の加算 delta += Time.deltaTime; //時間経過後 if(delta>=span){ //自然移動下に行けるかチェックして if(ChkBlk(x,y+1)==0){ //重なってないなら移動 MoveBlk(x,y+1)

    Unityで学ぶプログラミング  テトリス的を作る(8)左右の移動 - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(7)前半のプログラムリスト - にしのクエスト2

    こんにちは! 今回からテトリス的なものを作っていきます。長い連載にな りますので、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はまとめ。ここまでのプログラムの全貌 解説はこれまでの記事を参考にしてください。載せてるだけです。 GameC.cs public class GameC : MonoBehaviour { //フィールドの状態 public int[,] field = new int[16,23]; //フィール

    Unityで学ぶプログラミング  テトリス的を作る(7)前半のプログラムリスト - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(5)ブロックを落下させる - にしのクエスト2

    こんにちは! 今回からテトリス的なものを作っていきます。長い連載にな りますので、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はブロックを落下させていきます 長くなって、わかりにくくなってます・・・ ごめんなさい。 //ブロックの位置(初期値) int x=5; int y=0; //時間 public float delta; //間隔 float span=1.2f; 変数の部分には、時間の設定をしておきます。 また、ブ

    Unityで学ぶプログラミング  テトリス的を作る(5)ブロックを落下させる - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(4)ブロックを表示する - にしのクエスト2

    こんにちは! 今回からテトリス的なものを作っていきます。長い連載にな りますので、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はブロックを表示してみましょう ちょっと長いですが、よろしくお願いします! //ブロック番号 public int blkno; ブロックの番号の変数を作っていきます。 //ブロック番号 public int blkno; void Start() { //コントロール変数 int i,j; //ブロ

    Unityで学ぶプログラミング  テトリス的を作る(4)ブロックを表示する - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(3)ブロックの色を変える続き - にしのクエスト2

    こんにちは! 今回からテトリス的なものを作っていきます。長い連載にな りますので、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はブロックに色をつける続きです。 ブロックのprefabにアタッチするプログラムBlockCを書いて いきます。 変数部分ですが、 //座標を格納 int posx; int posy; //GameDirectorの格納 GameObject GD; GameC GDP; //色を格納 public

    Unityで学ぶプログラミング  テトリス的を作る(3)ブロックの色を変える続き - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(2)ブロックの色を変える準備 - にしのクエスト2

    こんにちは! 今回からテトリス的なものを作っていきます。長い連載にな りますので、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回はブロックに色をつけます。 ブロックの座標によって、配列を読み込み。ブロック自身が 自分の色を判断して色を変化させるという感じにします。 理論的には、こういうものを作ります。 なぜ、左右と下に2ブロックのスペースを開けるか というと、説明が長くなりますので後述します。 でも、表示画面上はこうです。 何

    Unityで学ぶプログラミング  テトリス的を作る(2)ブロックの色を変える準備 - にしのクエスト2
  • Unityで学ぶプログラミング  テトリス的を作る(1)表示用ブロックを並べる - にしのクエスト2

    こんにちは! 今回からテトリス的なものを作っていきます。長い連載にな りますので、気長にお付き合いください。 なお、プログラムの内容は難しいので、初心者には向きませ ん。いきなり作るのは厳しいのでよろしくお願いします。 また、説明も大幅に省いていきます。 テトリス的がなぜ難しいかというと、行き当たりばったりに 作ることできないからです。ゲームの最後の姿を描いて、そ れに向かって全体をプログラミングしていく必要があるから なんですねー。 よってテトリスを「何にもみないで」作ることができれば入 門者卒業といわれています。 最後に注意事項 ご紹介するのはあくまで「テトリス的」です。そのものでは ありませんし、非常にシンプルに遊べるだけのものです。 連載終了後に、より詳しい技術的な解説&追加機能を加えた 電子書籍を発行する予定ですので、よろしくお願いします。 今回は表示の画面を作ります。 表示の方

    Unityで学ぶプログラミング  テトリス的を作る(1)表示用ブロックを並べる - にしのクエスト2
  • Unityで学ぶプログラミング(番外編)Unity Roomに作品を投稿した話(1) - にしのクエスト2

    話せば長いのですが、推しの武道館記念に(笑 12月1日にUnity Roomに作品を投稿しました。 unityroom.com こちらが投稿されたゲームですが、年内で非公開に なる予定です。 https://unityroom.com/games/pikkoromuchi/settings/info というわけで、今回はUnity Roomに投稿したときの お話を書きたいと思います。 UnityRoom自体の登録は特に問題ありませんでした。 Twitterと連携させてIDを作成すると、自己紹介も連動 してくれるので便利でした。 メニューはこちらです。 ここで、作成したバージョンと表示サイズを決めます。 デフォルトは960X540だったかな? WebGLで作るのは初めてだったんですけど、正直、 「ちゃんと動くのか?」「Unity制作画面通りにで きるのか?」なんていう疑問がありましたが。 ほ

    Unityで学ぶプログラミング(番外編)Unity Roomに作品を投稿した話(1) - にしのクエスト2
  • Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(最終回)ハイスコアの記録 - にしのクエスト2

    上から落ちてくるブロックを床の上で寸止めして、ギリギリを 狙うゲーム最終回です。 応用すれば、いろんなゲームに使えそうな技術が多くあるので、 是非勉強してみてください。 初心者向きとは書いていますが、ざっくりなところもあります。 ご容赦ください。わからなければ、質問してくださいね。 (TwitterとかでもOKですよ) 今日もGameCのプログラムを改造していきます。 最終回ですね!「ハイスコアの記録」をさせます。 一応、GameCの完成版を全部載せておきますね。 public class GameC : MonoBehaviour { //記録する変数 float Score; //最高記録を保管する変数 float MaxScore=5.0f; 最初にスコアを表示する変数と、最高記録を表示する変数を書いておきます。 最高記録の値には高さを設定しておきます。一回目は常に最高記録更新にしま

    Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(最終回)ハイスコアの記録 - にしのクエスト2
  • Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(5)衝突後の処理 - にしのクエスト2

    上から落ちてくるブロックを床の上で寸止めして、ギリギリを 狙うゲーム5回目です。 応用すれば、いろんなゲームに使えそうな技術が多くあるので、 是非勉強してみてください。 初心者向きとは書いていますが、ざっくりなところもあります。 ご容赦ください。わからなければ、質問してくださいね。 (TwitterとかでもOKですよ) 今日はGameCのプログラムを改造していきます。 今日は「衝突した後の処理」をさせます。 //落下オブジェクトを格納する変数 GameObject ObjA; //落下オブジェクトのRigidbodyを格納する変数 Rigidbody ObjARigid; //フラグ public int missFlag=0; //3DTextを格納する変数 GameObject Mes; //テキストを格納する変数 TextMesh MesTM; void Start() { //落下

    Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(5)衝突後の処理 - にしのクエスト2
  • Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(4)床への衝突検知 - にしのクエスト2

    上から落ちてくるブロックを床の上で寸止めして、ギリギリを 狙うゲーム4回目です。 応用すれば、いろんなゲームに使えそうな技術が多くあるので、 是非勉強してみてください。 初心者向きとは書いていますが、ざっくりなところもあります。 ご容赦ください。わからなければ、質問してくださいね。 (TwitterとかでもOKですよ) 早速、プログラムを作成して(C#) ObjectAにObjCというプログラムをアタッチします。 アタッチされているかどうかは インスペクタにもありますので、確認しましょう。 今日は「地面にぶつかったらGameDirectorに報告」させます。 //GameDirector格納用 GameObject GD; //GameC格納用 GameC GDC; void Start() { //GameDirectorを取得 GD=GameObject.Find("GameDirec

    Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(4)床への衝突検知 - にしのクエスト2
  • Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(3)テキストへのアクセス - にしのクエスト2

    上から落ちてくるブロックを床の上で寸止めして、ギリギリを 狙うゲーム3回目です。 応用すれば、いろんなゲームに使えそうな技術が多くあるので、 是非勉強してみてください。 初心者向きとは書いていますが、ざっくりなところもあります。 ご容赦ください。わからなければ、質問してくださいね。 (TwitterとかでもOKですよ) GameC(Game Directorにアタッチしてあるやつ)の続きです。 今日は「地面までの距離がわかる」ところまでいきましょう。 前回と同じですが、プログラムをアタッチしているのはGameDirector という全体の進行役に決めたオブジェクト。 このオブジェクトから直接、3Dテキストオブジェクト(Message) を操作することはできません。 なので、前回と同じで 1 オブジェクトを発見して変数に格納 2 さらに、テキストを司る部分を取得 しておく必要があります。 /

    Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(3)テキストへのアクセス - にしのクエスト2
  • Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(2)止める - にしのクエスト2

    上から落ちてくるブロックを床の上で寸止めして、ギリギリを 狙うゲーム二回目です。 応用すれば、いろんなゲームに使えそうな技術が多くあるので、 是非勉強してみてください。 初心者向きとは書いていますが、ざっくりなところもあります。 ご容赦ください。わからなければ、質問してくださいね。 (TwitterとかでもOKですよ) まずは、スクリプトを作っておきます。 GameCと名付けて、Game Directorにアタッチしておきます。 で、プログラムを書いていきます。 今日は「スペースキーを押せば止まる」ところまでいきましょ うか。 //落下オブジェクトを格納する変数 GameObject ObjA; //落下オブジェクトのRigidbodyを格納する変数 Rigidbody ObjARigid; //フラグ public int missFlag=0; 変数の部分です。 オブジェクトとRigi

    Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(2)止める - にしのクエスト2
  • Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(1)オブジェクトの配置と設定 - にしのクエスト2

    今回から、ちょっとしたゲームを作ってみます。 上から落ちてくるブロックを床の上で寸止めします。 で、ギリギリを狙うというゲームです。 それだけなんですけどねw 初心者向きとは書いていますが、ざっくりなところもあります。 ご容赦ください。わからなければ、質問してくださいね。 オブジェクトの設定から、カメラ。斜め上からのアングル。 地面はPlaneですね。fieldという名前にしてます。 3D Textを作ります。名前はMessage。 ゲーム関連のアナウンスをさせます。 基はそのままですが、textmeshの部分の設定は是非真似して ください。フォントを大きくして、キャラサイズを小さくすると 字がきれいになります。 こちらは上から落ちてくる箱。objectAって名前にします。 高さは5じゃなくて10とかでもいいかも。 rigidbodyもconstainで回転を防ぐくらいで、そのままです。

    Unityで学ぶプログラミング (初心者)寸止めゲームを作ろう(1)オブジェクトの配置と設定 - にしのクエスト2
  • Unityで学ぶプログラミング プログラミングをはじめる人へ - にしのクエスト2

    今回は、プログラミングをはじめる人へのアドバイスを したいと思います。 私からアドバイスできることは、3つ。 ・暗記しないこと ・あきらめないこと ・完成させること これはUnityに限ったことではないですけど。 暗記しちゃダメ 挫折する方の、多くはコードやコードの書き方を暗記しよ うとしています。プログラミング言語は「言語」ってつい てるせいか、単語帳を作って覚えるみたいな。文法書を学 ぶみたいなイメージがありますが。 そういうコードの類は、調べれば出てくる話なのでやらな いほうがいいです。 それよりも「どういうことができるのか」をいっぱい知っ ておくべきです。そして、その処理をどのように並べるか。 例えるなら、調味料箱にどんな材料が入っていて、その使い 方にはどのようなものがあるか、使う順番は?ということ。 Unityのいいところは、ゲーム作りたいが根底にあって、 あのゲームのこんな表

    Unityで学ぶプログラミング プログラミングをはじめる人へ - にしのクエスト2
  • Unityで学ぶプログラミング TIPS(24)繰り返すアニメーション - にしのクエスト2

    小ネタ! 知っていると思いますが、アニメという機能がUNITYにはあって、 ・特定条件が発生した場合に実行されるアニメ も ・プログラムとは別に、繰り返し行われるアニメ も 両方簡単にできるのですが、今回はより優しい方(繰り返しの方を) 説明してみたいと思います。 最後に大きな赤字で書かれているところが、割と引っかかりやすい というか、ミスる可能性の高いところなので 要チェキ!ですぞ! アニメの設定の仕方 動かしたい物体を選んだ状態で ウインドウメニューからアニメーション 適当なファイル名で保存しておきます。 キューブのアニメ作る?もちろんイエスさ! プロパティを追加して、ポジションを選ぶ。 今回は位置を変化させたいわけだからね! 下の線の上でホイールを回すと表示を縮小できる(Macは2指で押し込む) ついでに、最後の菱形の上で右クリックして削除しとこ。 (これはアニメの最後の状態を示す

    Unityで学ぶプログラミング TIPS(24)繰り返すアニメーション - にしのクエスト2