unity初めて1日。初心者です助けてわからん↓のどこかが間違ってるらしい
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private void FixedUpdate()
{
//Rigdboodyを取得
Rigidbody rigidbody = GetComponent<Rigidbody>();
//方向キーの入力
float x = Input.GetAxis("Horizontal"); //横軸
float z = Input.GetAxis("Vertical"); //縦軸
//ベクトルに変換
Vector3 vec = new Vector3(x.0.z);
//力を加える
rigidbody.AddForce(vec);
}
} エラー内容
All compiler errors have to be fixed before you can enter playmode!
UnityEditor.SceneView:ShowCompileErrorNotification () MAUIの臭ってなんですか専門用語?ちょっとわからないです。 アップデートに毎回GetConponentやってるのがだめなんじゃね?
Start()に入れてみろ public class PlayerController : MonoBehaviour
{
private void FixedUpdate()
{
//Rigdboodyを取得
Rigidbody rigidbody = GetComponent<Rigidbody>(Start);
//方向キーの入力
float x = Input.GetAxis("Horizontal"); //横軸
float z = Input.GetAxis("Vertical"); //縦軸
//ベクトルに変換
Vector3 vec = new Vector3(x. 0. z);
//力を加える
rigidbody.AddForce(vec);
}
}
これでいいですか? aiに聞いてやったぞ 合ってるか知らんけど
このコードで間違っているところは、以下の行です:
java
Copy code
Vector3 vec = new Vector3(x.0.z);
この行は構文エラーを引き起こします。正しい行は以下のようになります:
java
Copy code
Vector3 vec = new Vector3(x, 0, z); わいもAI Code Reviewerというアプリとゆうかブラウザ?でやったけどロード遅すぎ2日まってるわw助かる すみませんカンマの意味を知らなくて(汗
ググりました >>12
ちゃう
private void FixedUpdate()の上に
private void Start()
{
RigidBody ~
}
って感じ このカンマは区切りって意味だ
Vector3っていうベクトル情報を作成するメソッドにX方向の値、Y方向の値、Z方向の値を与えているという意味
Input.GetAxsisで横方向("Horizontal"Xの値)縦方向("Vertical"Zの値)を求めて
X方向にXの値、Y方向に0、Z方向にZの値を渡してベクトルを作ってるという意味 自分で考えるの苦手なので(汗↓言い訳
YouTubeで人のうつしてますその際にドットとかわかりにくいんですよ。すいません public class PlayerController : MonoBehaviour
{
private void FixedUpdate()
{
//Rigdboodyを取得
Rigidbody rigidbody = GetComponent<Rigidbody>(Start);
//方向キーの入力
float x = Input.GetAxis("Horizontal"); //横軸
float z = Input.GetAxis("Vertical"); //縦軸
//ベクトルに変換
Vector3 vec = new Vector3(x, 0, z);
//力を加える
rigidbody.AddForce(vec);
}
}
現状 こうですかね?
public class PlayerController : MonoBehaviour
{
private void Start()
{
RigidBody 〜
}
private void FixedUpdate()
{
//Rigdboodyを取得
Rigidbody rigidbody = GetComponent<Rigidbody>(Start);
//方向キーの入力
float x = Input.GetAxis("Horizontal"); //横軸
float z = Input.GetAxis("Vertical"); //縦軸
//ベクトルに変換
Vector3 vec = new Vector3(x, 0, z);
//力を加える
rigidbody.AddForce(vec);
}
}>>23
いや初心者ならよくあることだと思うから別に問題はない
頑張って身につけてくれ
ちなみにGetConponent<>をなぜFixdUpdateの中に入れるとダメなのかというとこのFixdUpdateってのは毎フレームに実行されるからすでにGetConponent<>でコンポーネントを取得していても次のフレームでもまた取得してきて、そのまた次のフレームでも取得してきて~ってのを繰り返しちゃってめちゃくちゃ無駄が多くなっちゃうから
Start()は最初の一回だけ呼び出されるから一回取得したらもうずっとこのコンポーネントを使いますよ~って感じで無駄な処理が走らなくなる >>25
FixdUpdateのRigidbodyをStartの中のやつに入れ替える感じ これが正解
using System.Collections;
using UnityEngine;
public class MakeRigidAddForceChara: MonoBehaviour {
private Rigidbody rigidBody;//ここでrigidbodyの宣言をしておく
void Start()
{
rigidBody = GetComponent<Rigidbody>();//Start()でコンポーネントを1回コッキリで取得
}
void FixedUpdate()
{
float x = Input.GetAxis("Horizontal"); //横軸
float z = Input.GetAxis("Vertical"); //縦軸
//ベクトルに変換
Vector3 vec = new Vector3(x, 0, z);
//力を加える
rigidbody.AddForce(vec);
}
} いやたしかに調べたら色んなところでFixdUpdateの中にGetConponent<>が来てるの見つけたわ
例題的に簡単なやつとして用意したんだろうが回り回ってクソコードが蔓延っちゃったった感じだろうな
GetComponentはStart();{}の中に入れておくのが正解 なぜだろう矢印キーで動かない実行はできだお
(´・ω・`) Unityの公式で移動の基礎みたいなことやってるから参考にしてみるといい
https://youtu.be/VqS1dTiVLFA rigidbodyって物理エンジンになってるから物体が重いと動かないのかもしれん
Vector3 vec =new Vector3(x,0,y)
のところを
Vector3 vec =new Vector3(x*1000,0,z*1000)とかに変えてみて?
ちなみにこれは今の力に1000をかけてるという形 すまんタイプミスしてたわ
最後のrigidbodyはrigidBodyで大文字じゃないといけない これでいいですか?
using System.Collections;
using UnityEngine;
public class MakeRigidAddForceChara: MonoBehaviour {
private Rigidbody rigidBody;//ここでrigidbodyの宣言をしておく
void Start()
{
rigidBody = GetComponent<Rigidbody>();//Start()でコンポーネントを1回コッキリで取得
}
void FixedUpdate()
{
float x = Input.GetAxis("Horizontal"); //横軸
float z = Input.GetAxis("Vertical"); //縦軸
//ベクトルに変換
Vector3 vec = new Vector3(x, 0, z);
//力を加える
rigidBody.AddForce(vec);
}
} ちな本アカでやるとこうなる
RROR: あなたはこのスレッドにはもう書けません。🐙
問い合わせID: mev/7a936c76de153547
ホスト:M014011163064.v4.enabler.ne.jp
名前: デフォルトの名無しさん
E-mail:
内容: ちな使ってるPCは同じでGooGleのアカウントを切り替えただけです。 どうあがいても矢印キーで動かないヽ(≧Д≦)ノウワァァン!! なんかまたエラーでた
All compiler errors have to be fixed before you can enter playmode!
UnityEditor.SceneView:ShowCompileErrorNotification () ぷログラム
using System.Collections;
using UnityEngine;
public class MakeRigidAddForceChara: MonoBehaviour {
private Rigidbody rigidBody;//ここでrigidbodyの宣言をしておく
void Start()
{
rigidBody = GetComponent<Rigidbody>();//Start()でコンポーネントを1回コッキリで取得
}
void FixedUpdate()
{
float x = Input.GetAxis("Horizontal"); //横軸
float z = Input.GetAxis("Vertical"); //縦軸
//ベクトルに変換
Vector3 vec = new Vector3(x, 0, z);
//力を加える
rigidBody.AddForce(vec);
}
} ↑し入れ忘れた
なんとかプログラムかんせいしないかな? 頭悪いだけでなくガチのキチガイですやん
病院に入れてお薬飲ませてずっと寝かせとけ VisualStudioでコード書いてるってことでいいよね?
そのUnityの画面とVisualStudioの画面スクショ撮って見せてくれないか? とりあえずYouTubeうつしてるコマンドは修正していってます chromebookのスクショならやり方わかるけどこのPCなんの機種だったっけか?
スクショのやりかたわからん paizaとかideoneつかってコード全部を上げるのが早いよ
このままじゃあラチが開かない ちな前にわいの参考動画出したけど動画と同じで動かすのはCapsuleだから 何って言われても……
パソコンで検索して全部調べていけばいいんじゃねえの paiza意味検索したけどITエンジニアしか出なかった >>58
WindowsならShift+Alt+Sだ
何ならスマホで写真撮ったの送ってくれてもいいぞ ありがとうございますでもできなかったです。でも主はスマホ持ってないだお(´・ω・`) 年齢わ控えます察してください。
スマホは持っていますが検索アプリが消されています。 画面がどうなってるのか見せてくれないと対処の仕様が無いな… スレ初です。数少ない友にunityわかんないと言ったら5chに聞けばと言われたので何それと思いやりました。 いつまでかかってんだ
幼稚園か0歳児か知らんが5chで単発質問スレは原則禁止だ 画像はimugurってところにアップロードしてそのURLを貼り付けたらこっちで見れるようになるよ imugurを検索したんですが変な画像が出できただけで終わりました。画像を出すのは難しいですね 難しいか…
なら無理だな…
画像の通りにやったら動いたならもうそれでいい気がする 動かねぇ。最初からプログラム書きなおします出来たら書き込みします たぶん明日書き込みます。タイピング遅いんで。ちな寿司打お手軽コース最高記録が60円お得の雑魚なんで >>88
なにそれちゃんとunityにコード読み込ませてますよあの青いぐるぐる paiza意味検索したけど
検索アプリが消されています
でも主はスマホ持ってないだお
スマホは持っていますが
支離滅裂なんだけど、こんな奴にかまってるやつもおかしいよ
とりあえず下げろよ。板の荒らしかよ >>89
インスペクターのところにスクリプトがちゃんと入ってるかどうか とりあえず最初はひろはすって人のブロック崩しの動画でもやってみたらアタッチがどうとかの基本的な話が出てくるからやってみるといいよ >>90
混乱させてしまってすいません。私はスマホに検索アプリが入ってません。今はPCでやっています。 まあ、スマホじゃなくてタブレットだけど。どっちでもいいか。 このスレ作って自分がどれだけプログラム構文が下手なのかわかりました本屋で本買ってまた現れます。
ねちがえて湿布はって寝てました 今までありがとうございます。最初から学習します。学習し終わったらまた新しいスレ作ります。
そん時はよろb。ちなまだ首痛い。