higchat start
棒読みちゃん連携するのに当サイト用ブラウザ拡張機能が必要になりました。[連携詳細]
お知らせ:カスタム絵文字入力・登録機能を実装しました。
わかりました わからない場所はなんでもきいてください
🎐
uGUIは連結はちょっとわかりづらいけえの
Unityの中からScriptをCreateしたほうがそのへんはデフォルトで書いてくれて早い
Hierarchyで右クリックで生成
ちがったProjectだった
Create→Script→C#
Creaeえらべないのなんでじゃらほい
Assetsいかが自分のフォルダだから、そこならつくれる
C# Scriptをえらんで
なまえをつける
その後 ダブルクリックでVSで開けるとおもうけど
それでUpdateが毎フレームうごく処理 Startが最初のUpdateの直前に動く処理 がかける usingはお好みで足していただければ
Awakeは生成された瞬間に動くいわゆるコンストラクタと近い挙動 他のスクリプトを含めて Awake → Start → Update の順番にうごく
Debugは最初おおもじ
さいご「;」を追加して Debug.Log("ほんわかぱっぱ");
Updateのなかだと毎フレーム ログがでちゃうので、なにか条件式がひつようか uGUI側の呼び出しするために void Update → public void OnPressButton みたいな名前に変更がひつようじゃないかなかな
Unity は Awake()、Start()、Update() など いくつかの名前は 自動で呼び出しをつなげてくれるから (厳密には MonoBehaviour というクラスを継承したときに発動する)、 他のプログラムから呼び出すときは それとは別の名前にしてあげないといけないのあったりする
public ← このスクリプトの外から呼び出しできるよ! void ← 何も値を返さないよ!(return 1;とか書かなくていい)
たぶんボタンと連結しようとしているという想定で書いているんだけど その場合は、ButtonのInspector画面の一番下のところにFunctionとかInvokeとかって項目があるので、 そこで通知をとばしたいオブジェクトを選んで関数を選ぶ
あるかな~
OnClickなんとか
だ
Buttonの一番下に
そのいっこうえ
+をおして
OnClick 0 なんとかEmpty + -
っていうのがButtonのところのいちばんしたにある
なにしてんの
そこ!!!!
左側にHierarchyから連結したいGameObjectをドラッグアンドドロップして
右側はそこにくっついているスクリプトの どの関数を呼ぶか指定する
またなんか変なのに手ぇ出してる
さっきのスクリプトがまだHierarchyのなにかのObject(ノード)に追加されてないなら さきにそっちのObjectを選んで、InspectorからAddComponentする
はい
画面の一番下(Console)にエラーが出てるので さきにそっち解決しないとだめだったかも
Console画面でClearのボタンおして赤い文字があったら スクリプトにエラーがのこっている状態
ひだりうえに
そそそそ
エラーはないので、GameObjectにAddComponentできるはずで、 それがHierarchyにはいっているなら連結までいけるはず
AddComponentのリストにでてこなぁい?
検索窓に文字入れて名前で検索してみて
MonoBehaviourというのが書かれている(継承されている)状態だと AddComponent の検索画面に出る
あああ
えっと、スクリプトの中で
: MonoBehaviour の左側の名前があるでしょ
それとスクリプトの名前をあわせて
ファイル名を
ファイル名とクラス名が同じものが検出されている
一個のファイルの中に複数のクラスもかけるので
そういう仕組みになっちゃってる
Tesuコンポーネントがはいった
いっこは右上の「:」から RemoveComponentしてよい
ButtonのObjectにスクリプトがはいってるけど、それはべつでもOK
別のObjectにつけるのでも
いまはHierarchyのButtonのObjectにはいっているので、 InspectorのButtonのOnClickのところは Button がはいる
HierarchyのButton(青いの)が、InspectorのOnClickのリストの左側にドラッグアンドドロップではいるはず
ちょっと想像してたのと構成ちゃったかもごめんぴえん
はいった
じゃあ右側の関数を選べるはず
Tesuってない?
No Function のところがほんとうはえらべるんだけど
No Functionの あった!
そこでOnPressButtonって名前で追加したクラスがあるんじゃないかとおもうけど
ないなぁ~?
SendMessageは選べる?
Test→SendMessage で名前を指定して関数を呼び出せる
したから4つめ
あ、そこの NewBehaviourScript を
ファイル名が Test なら Test にして
Unity側でリネームしちゃったときは、VS側と名前がずれちゃっているかもしれない
Testというスクリプト?を Unity側から開き直したほうがいいかも
そこらへんは大丈夫のはず
問題は行目
5
5行目の public class **** : MonoBehaviour
***** の部分がファイル名とあってないといけない
スクリプト編集画面のタブのところがファイル名だとおもうけど、そこがUnity側とずれちゃってるきがする
いけるかなぁ?
VS側のTestのタブを閉じて Unity側からダブルクリックで開いたTestクラスを見せてもらえれば
操作はあっていて 本当はそこにOnPressButtonという文字がみえるはず…
あってるっぽい
ちょっとスペルが違うけど そこはだいじょうぶのはず
パーペキ
Console になにか出てない?
赤い文字は基本的にでないのでぇ
うーん??
何かエラーがでている
Clearで消えないエラーは解消しないといけない
namespaceがみつからないか、Start関数でなにかまずいことをしているっぽい
だいじょうぶっぽいけどなぁ~
エラーメッセージを右クリックするとコピーできるので
コメ欄にはってもらうといいかもしれない
Consoleでエラーメッセージえらんで したのほうでコピペだったかも
Startの部分は削ってOK
7~12行目かな
それで2つめのエラーはきえるとおもうんだけど
Assets\tesu.cs(8,10): error CS0111: Type 'tesu' already defines a member called 'Start' with the same parameter types
7~11行目のスクリプトけずってみてぇ
ごりっと削ってつめてOK
そうそう
Assets\tesu.cs(5,14): error CS0101: The namespace '<global namespace>' already contains a definition for 'tesu'
このProjectのなかにTesu?というスクリプトが2つあるかも
あるぅ
どっちか不要なのでけしてOK
まえにButtonにくっつけていたTesuが違うものを指していたかもなので
さすてたなぁ
そうそう
前のはRemoveしてOK
いまならえらべるんじゃないかな
あるーーーーーーーーーーーーーー
これでボタンをおしたら反応するはず
実行してボタン押したらConsoleにログが流れるはず
左下のConsoleにでている
レイアウト、Consoleは常時みれるばしょにおいておいてもいいとおもうー
完 成
GUI系は基本的にこの仕組でいろいろつなげていくので
他のプルダウンとかチェックボックスとかも こういうかんじで組んでいける
チェックボックスは「値が変わったこと」を受け取れて、 呼び出すだけじゃなくて中身が何に変わったかを受け取れたりする
(ボタンに画像を入れたいようにみえる)
Materialで指定するんだったかな
Image側でなんかいれる
HARETA
サイズは一番上のTransform(RectTransform)で調整して
そこのすうじはピクセル数だけど、 Canvasで解像度指定するから おもったサイズじゃなかったらそっち
その辺の色が並んでいるのは
押したときとかのいろ
しばらく大丈夫だと思うので 朝のコンビニ活動へ行くづめ
☕:tako:
寝ます!
:cola_p::ika:
ありがとうございましたー
配信は終了しました。