5丁目らへんのさよねん家

UnityとBlender初心者です。つまづいたこととか日常とか雑談とかいろいろ。

【Unityめも】スクリプトからTextの表示

どうもです。

Unity5を使ってるものの、使ってる参考書はUnity4なもんだから色々変わってるところについていけず、いつも調べる羽目に。

んで、いちいち調べるのめんどいから、自分用にまとめます。


Unity4ならguiTextureってのがあって

guiText.text = "Time: " + timeRemaining;

なんてので、スクリプト内でguitext作って「Time:残り時間」みたいな表示ができたんですけども、

どうもUnity5からはguiTextがなくなって
Textやら画像やらは "Canvas"なるオブジェクトにおくよう。

HierarchyビューでTextを作っておいて、スクリプトをつくる

public Text timetext;

puclic void start(){
    timeText.text = "time: 0";
}

てな感じでTextをpublic宣言しておき、Inspectorビューでスクリプトに作っておいたTextをひっつける。

以上、おしまい。
最近ちょっとだけ慣れてきたきがするよ。気のせいかも。

くわしいテキスト表示はこちらを参照hiyotama.hatenablog.com


追記

using UnityEngine.UI;

これ忘れたいかん

本命試験が一週間後にせまったって話

こんばんわ。就活生さよねです。

 
自分の気持ちの整理用に文章書きます。すんません。
 
 
本命の市役所の一次試験があと一週間後に迫ってきた。
 
 
 
昨年の受験記録をみると、受けた人が300ちょいで一次試験通った人が50人ほど。
 
 
......まったく受かる気がしねぇぇぇぇ。
 
 
中学高校と放送部で、大学では漠然とメディアに関する勉強がしたいなと思い
テレビ局でもバイトした
大学では長与町の情報番組作ったりもさせてもらい
長崎や長与町のいろんなところに取材にいった
 
色々な経験もでき、映像を通して何かを伝えるということに大きなやりがいも感じた。
やっぱメディアってすげぇなぁって思う。かっこいいなって。
 
 
でも、そーした活動を通して思ったのは、映像を作りたいということではなく
 
カメラの向こうにある世界にもっともっと入りたい
 
カメラを通してではなく、直接地域の人に関わっていきたい
 
みたいなことをぼんやり思ったわけで
 
 
 
でもその地域を見てみると、色々な人がいて、色々な活動があって、色々な問題があって
 
それは長与町だけでもたくさんあって
長崎になるともっとたくさんあって
 
それらを知っていくとともにどんどん長崎を好きになって
同時にもっともっと長崎を良くしていきたいと
 
そんな偉そうなことをぼんやり思い
 
市役所にインターンシップにいき、
「長崎の問題をなんとかするのが俺たちの仕事だ」と熱く働く人たちをみて
 
行政なら、長崎をもっと良くするために動けるんじゃないか
長崎の人のために働けるんじゃないか
 
って思ったわけです。
 
 
 
そうして第一志望が市役所になったものの
 
まったく勉強してなくて
まったく受かる気がしませーーん
 
志望するのは簡単だけど、受かるために努力するのは難しいですな。
 
ただ、長崎のために働けるってのは行政だけではなくて、いろんな企業があって、
形は違えど長崎で働く限りは長崎に貢献できるんでねーかなーそーだといいなー
 
 
んまぁだからなんだって感じなんですけど、
自分のなかで整理つけるために文章にしました。
 
とりあえずあと一週間、できる範囲でやってみます。
努力量は明らかに足りないけど、開き直っていきます!!!!
 
 
 
 

【Unityつまづき】Triggerのなぞ

こんにちは。

前回、当たり判定のプログラムを作ってて、IsTriggerのチェック外したらうまくいったけどなんでって話。
詳しくはこちら→【Unityつまずき】 当たり判定がうまくいかない - 5丁目らへんのさよねん家

答えはスクリプトにございました。

前回の当たり判定スクリプトがこちら

 void OnCollisionEnter2D(Collision2D collision)    {
        //みかんだったらスコアを加算する
        if (collision.gameObject.tag == "mikan")
        {
            //スコア加算
            score += 100;
            //スコアの更新
            ScoreText.text = "Sco: " + score.ToString();
        }
        Destroy(collision.gameObject);
        
    }

このOnCollisionEnter~ってところで接触したところをチェックしてたわけです。

んで、ゲームとして当たり判定をさせたいけど物理的な衝突反応はしてほしくないってときにTriggerを使うわけですけれども、

このTrigerを使った接触のときは、通常の接触とは別のイベントをつかわないかんらしい。

てことでスクリプトを訂正しました。

void OnTriggerEnter2D(Collider2D col)
    {
        //みかんだったらスコアを加算する
        if (col.gameObject.tag == "mikan")
        {
            //スコア加算
            score += 100;
            //スコアの更新
            ScoreText.text = "Sco: " + score.ToString();
        }
        Destroy(col.gameObject); //みかん消去
        
    }

OnCollisionEnter~のところがOnTriggerEnter~に変わりまして引数もCollisionからColliderに変わります。

んで、IsTriggerにチェックをいれる
f:id:sayone128:20150618132854p:plainf:id:sayone128:20150618132854p:plain

無事動きました。

働きは同じでも、トリガーを使った時のイベントとトリガーを使わないときのイベントは違うってことですね。

初歩的なことなんですがきちんと把握できてなかったためごっちゃになっていました…

【Unityつまずき】 当たり判定がうまくいかない

さっそくつまずいたのでメモしておこうと思います。

 

f:id:sayone128:20150617191515p:plain

今卒論で制作しているゲームなんですが、内容を簡単にいうと、

長与町のイメージキャラクターであるミックン(真ん中の帽子かぶってるやつ)が、みかんやらオリーブやらの特産物を拾ってっくてなものです。

 ゲーム内で使用するイラストは後々自作するとして、とりあえずはプログラム作ってみようって段階です。みかんは「素材屋小秋」っていうサイトから拝借しました。

http://www.sozaiyakoaki.com/win/mikan/

 

さて、みかんがミックンにあたったら得点が入るよ~ってなプログラムをつくったわけですが、なぜか上手くいかない。

ちなみにスクリプトはこんな感じ

>||

//アタリ判定
void OnCollisionEnter2D(Collision2D collision)
{
//みかんだったらスコアを加算する
if (collision.gameObject.tag == "mikan")
{
//スコア加算
score += 100;
//スコアの更新
ScoreText.text = "Sco: " + score.ToString();
}
Destroy(collision.gameObject); //みかん消去

}

||<

参考書とかサイトぐりぐり~とみて

あ、コライダーもRigidbodyもなんもつけてねぇ

てな初歩的なミスに気づき、Collider2DとRigidbody2Dを追加。どちらもあたり判定には必須ですね。詳しくは下記参照。

Unity - マニュアル: リジッドボディ 2D

当たり判定とアニメーションイベントとレイヤー

 

さて、これでもう大丈夫…

と思いきや全然スコアが加算されぬぞ。なんで?どこがおかしい??

まとも参考書やサイトをぐるぐるまわり、ときにはチュートリアルを1からしてみたりしながら二日ほど。本気でつんだなと思ってた。

そしてなんとな~く

IsTriggerのチェックを外してみたらうまくいった

f:id:sayone128:20150617195630j:plain

んんん?でもまって、トリガーって当たり判定では必須なんでねぇの?

衝突してもそのまま通過するように設定するのがトリガーなんでねえの??

 

でもトリガーのチェックを外すと当たり判定はうまく言ってる模様。

ちゃんとみかんも消えました。

 

????????

 

原因は謎なんだがとりあえずプログラムは動いたので今日は帰ろうと思います…

 

 

 

はじめました

はじめまして。さよねです。

 

UnityとBlenderをたまにいじってます。

今現在は卒業研究でUnity使ってゲーム開発をしています。

 

初心者なので右も左も分からず悪戦苦闘しながらやってます。

開発でつまづいたときにメモ程度に残していこうかなって思います。

 

あとは雑談などなど。というかそっちメインになりそうですが、どうぞよろしくです。