[過去ログ] 【3Dゲームエンジン】Unity質問スレッド30 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
524(1): ダーク王鍬大使 ◆SoVpkB15jY 2017/08/11(金)04:24 ID:d26RbtTp(1/2) AAS
アセおじ、キムチ、僕、エンジニアが同一人物なら端末が4つもあることになりまふ(^^
僕はなんてリッチで贅沢なのでひょうか?(^^
3:48から4:24分まできっちり書き込みが途絶えてるところを見るとこのスレは全部僕の自演でふね(^^
ボッキング!(^^
525(2): 2017/08/11(金)05:59 ID:zcZ67cQE(1/7) AAS
マック、pc、アイフォーン、アイパッド、これだけで4つ、あとアイフォーンを3Gにすりゃ、5つ。
別に多くない。
しかしわざわざ切り替えるかぁ?アホらしい。
526(1): 2017/08/11(金)07:35 ID:fbd1ELRy(3/4) AAS
>>525
精神障害者を理解しようとするな
527(3): 2017/08/11(金)07:36 ID:/wXKl2Ja(1/8) AAS
C#で書いてます。
Update内でフラグのOnOffを確認して都度一度だけ処理させたいのですが、どのように書けばいいでしょうか?
ひとつの変数を0にする、程度でもいいので例を教えてもらえるとうれしいです。
やってみたこと
SetTriggerでフラグを立ててif文で処理
結果
SetTriggerで立てたフラグの取得方法が判らなかった
よろしくお願いします
528(1): 2017/08/11(金)07:56 ID:zcZ67cQE(2/7) AAS
>>527
?
そこまでわかってるなら、そのフラグでifでやればいんじゃね?
何か他に問題が有りそう?
529(1): 2017/08/11(金)08:01 ID:zcZ67cQE(3/7) AAS
>>527
あぁそういう事か。ならもう一つフラグかな。
そのフラグを処理先で切り替えて、二つの条件が揃ったらonoffの処理をする。
530(1): 2017/08/11(金)08:30 ID:/wXKl2Ja(2/8) AAS
>>528-529
こんな時間にありがとうございます。
お恥ずかしながらまったくのど素人で、SetTriggerでOnにしたフラグを、何をどう書けば確認できるのかさっぱり判らない段階です。
int xで例えるなら、
int x = 1 はできても、if(int x == 1) が書けないという感じです。
531: 2017/08/11(金)08:37 ID:/wXKl2Ja(3/8) AAS
混乱してきて何を書いてるのか自分でも判らなくなったので実際に書いているスクリプトで質問させてください。
アタッチしているスクリプトは二つ
ctrl.cs
common.cs
ctrl.cs
public class ctrl : MonoBehaviour
{
public int sys00 = 1;}
532(2): 2017/08/11(金)08:49 ID:/wXKl2Ja(4/8) AAS
ヒエッ書き込みミス・・・
//ctrl.cs
public class ctrl : MonoBehaviour{
public int sys00 = 1;
}
//common.cs
public class common : MonoBehaviour{
int x = 100;
}
void Update (){
省14
533: 2017/08/11(金)08:50 ID:zcZ67cQE(4/7) AAS
>>530
if( x == 1){
}
534: 2017/08/11(金)09:02 ID:zcZ67cQE(5/7) AAS
thisじゃなくて一旦変数に入れないとダメじゃないかな?
簡単にするなら、xをstaticにするのがいい。その場合はもっと複雑な名前にしないといかんけどね。
535(2): 2017/08/11(金)09:07 ID:zcZ67cQE(6/7) AAS
ctrl abc = this.GetComponent<ctrl>();
if (abc.sys00 == 1){
x = 99;
}
これでthisがだめなら、thisのgameobjectも取得して、それに交換。
536(2): 2017/08/11(金)09:36 ID:seM6V/nM(1/5) AAS
>>527
よくあるやり方だと前回確認時の状態を保持する変数作って確認時に前回と今回の状態が違っていれば処理するとかかね
537(1): 2017/08/11(金)09:43 ID:seM6V/nM(2/5) AAS
>>536
ごめん、これ無視して
上手く実行できない、ってのは実行時にエラー出てるの?
debug.logでgetcomponentした値とそいつから見たsys00を出力したらちゃんと意図した値が出る?
538(3): 2017/08/11(金)09:57 ID:fbd1ELRy(4/4) AAS
this.GetComponent<ctrl>()のthisはcommonクラスがアタッチされているゲームオブジェクトを指すんじゃなくて、commonクラス自体のインスタンスを指すんだから、そもそもthis.GetComponent<ctrl>()では何も取れてないんじゃないの?
エラー出てるならエラーを貼れ
539(1): 2017/08/11(金)10:10 ID:4hQFH2dY(1/2) AAS
>>532
スクリプトは難しいですね。アセットをかっちゃえばそんな苦労もないですよ
540(1): 2017/08/11(金)10:41 ID:AX6e9G6c(1) AAS
アセットを買えばこんなスレを見なくても済みますよ
541(2): 2017/08/11(金)10:43 ID:/wXKl2Ja(5/8) AAS
>>535-536 すみません、ctrl abc がもうすでにわからず・・・
>>537-538 >>532で、エラーは何も出ず、commonに書いたif文が実行されず、ctrlで宣言した際の1を返し続ける状態です。
そこで、外部リンク:qiita.com こちらを参考に、一番はじめの「publicで取得」をなぞり
ctrlのsys00をcommonのxsys00に代入し、Update関数のDebug.Logでxsys00を表示するだけの処理をしようと思いましたが、同じくエラーは出ず、xsys00を宣言した際に入れた値が表示されるだけでした。
//ctrl.cs
public class ctrl : MonoBehaviour{
public int sys00 = 1;
}
//common.cs
public class common : MonoBehaviour {
省12
542(1): 2017/08/11(金)10:48 ID:zcZ67cQE(7/7) AAS
>>541
>538の方が言ってる通りだと思う。
getComponentのところがまずい。
そして、541最後の知りたい事がそれに当たる。
外部リンク:hiroyukitsuda.com
543: 2017/08/11(金)11:13 ID:L26ZWthx(1/2) AAS
>>541
Debug.Log("お前は何を言っているんだ:"+this.GetComponent<ctrl>().sys00);
上下前次1-新書関写板覧索設栞歴
あと 459 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.537s*