【ゲームエンジン】Unity初心者質問スレBuild1
■ このスレッドは過去ログ倉庫に格納されています
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
■注意事項
「アセットを買えば」「チュートリアルやれ」等禁止、初心者の質問疑問に初心者が答えるスレ、ググれじゃなく何のキーワードでググったらいいかを書く
次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
関連スレ
【3Dゲームエンジン】Unity質問スレッド35
https://mevius.5ch.net/test/read.cgi/gamedev/1523771570/ ボーンの設定を確認する画面に行く為のコンフィグってボタン押すと固まるんですが、解決方法ありますか? Unityのバージョンによって挙動変わるから色々試すといいかと >>5
ありがとうございます。
ずっと待っていたんですが、読み込みが遅いだけで一応画面は出てきました…が、5分ほど待ちましたしその後の画面もすごく重くまともに操作できません。
いろいろなバージョン試してみます。 【情報共有】Unityのバージョンによるマップエディタ(TilePalette)について
2017.3.1f1:表示される
2017.4.1f1:表示される
2017.4.2f2:表示されない
2018.1.0f2:表示されない
2018.2.0b3:表示される(メニュー位置が Window > 2D > Tile Paletteに変更されています)
以上より、現状 Tile Palette を最近のバージョンの Unity でお使いいただくには、2017.3.x,、2017.4.1、また、ベータ版となりますが、2018.2.xのいずれかをご利用していただく必要がございます。
上記スプライトが表示されないバージョンで開いたプロジェクトを例えば2017.4.2で作成し2DGameKitを展開してスプライトが表示されないことを確認したあと、同じプロジェクトを2017.4.1や2018.2.0b3で開くと再度スプライトが表示されるようになりました
あるプロジェクトで Tile Palette のスプライトが表示されなくなっても、それで Tile Palette のアセットが壊れてしまうということではないようです。 すみません、rigidbody.addforceについてなんですが、混乱してます。
Rigidbody rd = GetComponent<Rigidbody>();
Void Start(){
//一瞬(Time.deltaTime分?)だけ力が加わるのですか?
rd.AddForce(transform.forward);
//試したら1秒間力を加えた後の状態になったと感じたのですがあってますか?
rd.AddForce(transform.forward,ForceMode.Impulse);
}
Void FixedUpdate(){
//スクリプトリファレンスでは下記のように書いてあったのですが、これは次のアップデートのタイミングまで力を加え続けてくれるんでしょうか。
rd.AddForce(transform.forward);
} >>8
スタート関数のは最初の一回だけ行います
あっぷでーと関数は、毎回力が加わります unityで崩壊学園のような2Dアクションゲームを作りたいんですが、参考になるサイトや書籍はありませんか?
左右の移動だけじゃなくて、上下にも移動ができるようなタイプのゲームです。 質問させてください。
この2Dシューティングのチュートリアルなんですが
https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/adding-enemy-hp-shot-power-and-animations?playlist=46524
>図11.14:
>これを交互に60フレームまで「オフ、オン、オフ、オン...」というように
>キーを打ち込んでください。
ここを実行したのですが、プレイヤーが無敵中に点滅してくれません。
無敵中ずっと消えたまま、です。
自分が見よう見まねで設定したのはこれですが、
https://dl1.getuploader.com/g/6%7CSR1gou/907/000.jpg
「オフ、オン、オフ、オン...」というのはどこのことでしょうか? >>9
ありがとうございます。
てことは、例えば重力なんかの場合、加速度9.8m/s^2だったら、update()に書く場合、addforce(9.8 * Time.deltatime)でいいんでしょうか。 >>11
まずは、オンオフ回数を目一杯減らして、動作確認してください。
見当違いかもしれませんが、処理が間に合わないと点滅しないかも。1:00の間に2回ぐらい、まで激減らす。
それでも表示されなければ、設定に問題あり。
点滅するなら、pcの能力不足。 >>11
俺はオフの次のキーでオンになってないんじな以下と思った。
spritererendereの2番目のひし形クリックした時、spritererendere横の0は1になってる? >>10
「unity スマホ 2d」でgglと出てくる上3つくらいのWeb見るといいのかなと思いましたが、ここで質問している事は既に見ている上での質問だったでしょうか?
>>12
重力の場合、Rigidbodyだと重力が適用されているので、例えば何かオブジェクトを作成してRidgidbodyをアタッチして、プレイすると自然落下しますよね、もし12のコードにすると、毎回9.8を掛ける事になるので、とてつもない速さで落下してしまいます。
まぁやってみると解ると思うけど。 >>11
さくっと斜め読みなのであってるかどうかわかりませんが
ttps://imgur.com/a/jRDSWna
こんな感じでEnableのチェックをオン、オフするのかなぁと
自分はいつもアルファで点滅してたので、いい勉強になりました >>15
うそ教えちゃいけないよ。
>>12
FixedUpdate(){
AddForce(Vector3.up * -9.8f);
}
で、rigidbody.mass=1ならvelocityが1秒後に9.8になる。Time.deltaTimeをかける必要はない。どんどん加速はするけど、それは実際の重力と同じ加速。
重力をやりたいなら、
FixedUpdateに
AddForce(Vector3.up * -9.8f.ForceMode.Acceleration);
て書いとけば、massに左右されず、rigidbodyのUseGravityと同じ結果になる。
引力はmassが馬鹿でかいし重力定数はくそ小さい。rigidbody.massは使わずに、
M1自分、相手m2として、fixedUpdate内で
F = G*m1*m2 / r^2
を相手m2 = 1として求めて、
AddForce(自分方向の単位ベクトル * F,ForceMode.Acceleration);
てしてやるといい。m2=1と言うのは、引力の公式から、自分が相手に与える加速度のみを取り出したと思えばいい。ForceMode.Accelerationと相性がいい。
Rigitbody.massを1のままにしとけば
AddForce(自分方向の単位ベクトル * F);
でも結果は一緒。もちろんFはm2=1で求める。 >>17
あ、rigidbodyの重力は切っておくんだよ。 >>13
レスありがとうございます
数を減らしても透明のままですので
PCの能力不足ではないようです。
オンオフの設定を理解できてないのでそこが問題かと推測しています。
>>14
レスありがとうございます。
>spritererendere横の0は1になってる?
いえ、どこのひし形に合わせても0のままです。
もしかして、ここの値がオンオフの切り替えですか?
1が描画、0が非描画、みたいな判定でしょうか?
>>16
レスありがとうございます。
spritererendere横のチェックの有無がオンオフ切り替えですか?
しかし、自分のはチェックできる場所が消えてしまっています。
とりあえず、
>>14さんのご指摘のspritererendere横の数字の変更、
>>16さんのご指摘のspritererendere横のチェックの有無、
をそれぞれ触って確認してみます。 >>14さんのご指摘のspritererendere横の数字が0だったのを1にしてみました。
すると、プレイヤーが点滅状態にできました!
しかし求めている非描画、描画とを交互にするイメージとは違い、
非描画1秒ごとに一度描画される感じです。
タイミングを表現すると、ンーーパッ、ンーーパッ、て感じで点滅しています。
(自分がやりたい点滅タイミングは、ンパンパです)
多分、ひし形をカットして1秒サイクルを0.10ほどに短く作れば、いけそうですが
チュートリアルに倣って、完成させたいので
この1秒の中でンパンパになる様に設定したいのですが、、どうすればいいんでしょうか
ちなみに、今回spritererendere横の0を1にしたら
なぜ1秒後に描画される様になったのか、理由がわかりません。
この数字はなにを表しているのでしょうか?
https://dl1.getuploader.com/g/zipcodezipcode/169/000.jpg >>16
>ttps://imgur.com/a/jRDSWna
>こんな感じでEnableのチェックをオン、オフするのかなぁと
すみません、自分のには>>16さんのスクショにある様なEnableのチェックがありません。
https://dl1.getuploader.com/g/zipcodezipcode/169/000.jpg
最初はあった気がするのですが、触ってるうちに無くなった気がします。
非表示になってしまっているのか、なんなのか、どうやったらチェックが現れるか
ご存知でしょうか? >>15
レス有難うございます。
webの検索だけではなくunity関連の書籍も数冊購入済みです。
ですが、Unityの2Dアクションのそのほとんどが、ロックマンのような真横から見た視点のものばかりなんです。 >>16
プレイヤーオブジェクトを選択してからアニメーション窓を開いたら
チェック項目を表示したspritererendereを確認できる様になりました。
さっきは作ったInvincibleアニメーションを選択してから
アニメーション窓を開いた状態でした。
https://dl1.getuploader.com/g/zipcodezipcode/170/000.jpg
ただ、あなたのttps://imgur.com/a/jRDSWnaの画像にある様に、
途中でチェックを入れたりはずしたりの設定方法がわかりません。
ひとつずつ、キーフレームを選択して、チェックを触るのかなと思ったのですが
チェックを入れるとずっとチェックが入ったままになってしまいます。
チェックをキーフレームごとに設定できません、、、
どうやって、フレームごとのキーのチェックをはずしたりつけたりしたのでしょうか? >>17
フォローありがとうございます
なんせ素人が回答するスレなもので、申し訳ないです
>>21
チュートの画像と比べると、
sprite Renderer.Enabled の前に「オブジェクト名:」が無いですね
チュートはあるので、そこらへんの問題でしょうか?
再度、追加からしてみてはどうでしょうか >>24
解決できたようで何よりです
録画ボタン(赤まる)を押して、各キーフレームのところで、チェック、録画オフ、
次のフレーム、録画押す、チェック外す、録画オフ、次のキーフレーム行く
の繰り返し
まぁ一個つくって、コピペでいけるので
コピペしたあとは、録画ボタンは関係なく、キーフレームに位置を設定して値を直接いじれば変更できます
これは何度かやり直して習得しないとなかなか理解しにくいかと思います。
自分もアニメ関係は4,5個シーンを作ってどうにか理解できましたので
(まだ完全には理解していないけど)
なので、その部分だけいじる、動かす、を繰り返すと解るようになるかなと
習うより慣れろ系です >>25
できました!
https://dl1.getuploader.com/g/zipcodezipcode/171/uni01.gif
が、表示しない場合と表示する場合の
やり方自体を理解していないので
気分が晴れません、、
新しく作ったキーフレームが「表示する状態のキーフレーム」だったので
とりあえずそれをコピーして、
透明ばかりのキーフレームの偶数回目のキーフレームを削除して
そこにペーストしていった感じです。
現状先に進めても、
透明のキーフレーム、非透明のキーフレームを
意識して自分が作ることは不可能ですね。
んーーーー。。。。 >>26
>録画ボタン(赤まる)を押して、各キーフレームのところで、チェック、録画オフ、
>次のフレーム、録画押す、チェック外す、録画オフ、次のキーフレーム行く
の繰り返し
なんとなく、わかってきました。
慣れていきます、回答してくださり本当に
ありがとうございます! >>23
崩壊学園の動画見て見ました
いわゆる奥行きのある横スクなのかな?
まぁUnityでやるなら普通に2Dプロジェクトに3Dの床配置して、カメラを斜め視点にすれば
実装できると思いますけど、あとは奥に行ったときにキャラのスケール調整するくらいでしょうかねぇ キーフレーム、複数選択してチェック、できなかったかな?
ctrlかoptionキーおしながら選択すればできたような。 >>30
アセットを購入すればできるようになると思いますよ >>31
こっちのスレでは禁止ワードなので、ちゃんと>>1読んでからレスしてください >>32
アセットを買えば禁止もできるようになると思いますよ >>33
スレローカルルールに違反なので嵐通報させてもらいますね >>29
そうです!奥行きのある横スクです!
カメラを斜め視点にするというのも一度試してみましたが
変に奥行きがついてしまって微妙な感じでした。
うーん。物理エンジンを使わないで直接プログラムを組むしかないのかな。 Unityは最近始めたばかりなのですがオブジェクトをオブジェクトにぶつけると
痙攣したようにガクガクとしてしまいます。
ちゃんとしっかり止まるようには出来ないでしょうか
interpolateやCollisionDetectionを変えてみましたが無駄で
Fixed.timestepというのを小さくした所しっかり止まるようにはなったのですが
どこのサイトでもゲームが重くなると注意書きがあって誰かにプレイしてもらう時に
止まったりしないか心配です >>35
いわゆる2.5D。2Dじゃなく3D。カメラのprojectionはperspective。2Dスプライトに3Dのrigidbodyとコライダーつけるのが手っ取り早い。奥行きはカメラの位置や向きや視野角を調整。どんな本を見てるのか分からないけど、スクロールは本に載ってるやつでできるかも知れない。 >>36
どういうぶつけ方をしているのかわからないけど、physicMaterialのbouncinessを0にして各々のコライダーにつけとけば、いいかも。 >>38
ぶつけかたというのはスクリプトでいいでしょうか
public float speed = 3f;
float moveX = 0f;
float moveY = 0f;
Rigidbody2D rb;
void Start(){
rb = GetComponent<Rigidbody2D> ();
}
void FixedUpdate () {
moveX = Input.GetAxis ("Horizontal") * speed;
moveY = Input.GetAxis ("Vertical") * speed;
rb.velocity = new Vector2(moveX, moveY);
} >>35
ttps://imgur.com/a/x8i6Yjs
ちょっと雑だけどこんな感じかな
スケールいじらなくても奥に行けば小さくなるので簡単にいけそうですね
上下で奥、手前、左右の動きをプログラムで組めばいいかと。
カメラを斜めにしているのと同じ角度にオブジェクトもしています
これは3Dオブジェクトを配置してますが2Dプロジェクトなのでコライダ関係は2Dを使うといいかと思います >>36
>>39
ぶつかった時の処理がないような気がするのだけど、ぶっかった時にスピードをゼロにするとかは?
>>40
オブジェクトはスプライトでも当然問題ないです キー入力みたいに継続した入力で動かすなら、velocity使わずにaddforceが無難だと思う。 >>41
ぶつかったときの処理は何も無いですね…
試してみたら上手く止まりました!
また困ったら質問します >>39
これだとぶつかってなおキー押していると、あらぬ方向にぶっ飛んでいくよね。進めない方向にF=mv/tの力加えるんだから、ガグガクして止まらないどころじゃない。
そして、公式のスクリプトリファリンスにあるように、
ほとんどの場合、非現実的な挙動になるため速度を直接修正するべきではありません。
オブジェクトの速度を物理ステップごとに設定しないでください。これは非現実的な物理シミュレーションに繋がります。
速度を変更する上での典型例は、ファーストパーソン・シューティングでのジャンプ時にあります。即座に速度を変更したいためです。
だから。
どんなサンプルを見たか知らないけど、運が悪かったですね。 >>45
複数の書き込み確認です
なお、規制されるとこの板全部書き込み出来なくなるのでよろしくです
取り合えず、複数の通報してます。
来週もあるようなら他からも通報させてもらいます
あちらに書き込みしたければ、これで止めてくださいね Wave型ってなんですか? 波型?
検索してもUnity上での組み立て方法ばかりなので
その言い回しはUnity独特のものですよね?
Wave型というものはどういう型なのか、教えてください。 また、プレハブにあるファイルの複製方法ってありますか?
左クリックの項目にコピーが見当たらないので。
ファイル開いて直接複製しても大丈夫なんでしょうか エクスプローラーでコピーしてちょっとすればMetaファイルも自動で作られる。
でも、ファイルだから名前かぶるとダメだぞ。
楽なのはヒエラルキーに一度いれて、そこから何回もアセットにドラッグアンドドロップするのが良いかな。
勝手に名前の後ろに連番降られるけど。 ctrl+dだよ
削除っぽいけど複製だよ
ほんとだよ
だまされたと思ってやってみなよ プレハブにあるコピーできないファイルを
ヒエラルキーにドラッグすると
「Unable to instantiate prefab. Prefab may be broken.」
とエラーが出ました。
このせいだった様です。
、、というか、いきなり、壊れる、とかこんなことあるんですか??
フレハブ内のファイルが壊れるケースを教えてください。
修復は、そのプレハブファイルを最初から作るしかないですよね?ソースとかないですから。
Unityではそういうリスクがあるんですね。。 コピー方法に対してレスくださった皆さま、ありがとうございます
いろいろ試してはいたんですが、壊れていたのでコピーできなかったようです、、、 ちなみに、エラー全文はこれです。
壊れている、とありますが、具体的な状況わかりますか?
Unable to instantiate prefab. Prefab may be broken.
UnityEditorInternal.InternalEditorUtility:HierarchyWindowDrag(HierarchyProperty, Boolean, HierarchyDropMode)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) とりあえず、壊れたプレハブファイルは
新しく作り直し、解決しました。 >>58
お疲れちゃん、プレファブに使ってたファイルやら子プレファブやを削除してたら壊れてるって出るけど、エラーメッセージまでは覚えてないや。
wave型はどばっと来てそれをやっつけるタイプだよ。第1波とか言うとピンとくるかな。 fortniteはunreal enginで作ってるんでしょ >>61
アセットを買えば簡単ですよ
初心者はまずアセットを検索する技術から磨きましょう! アセットストアも公式のスクリプトリファリンスも検索遅いですよね。リファレンスページの検索よりgoogleの検索使ってリファリンスに飛んだ方が数倍早いのなんとかならないの。 お目汚し失礼致します。
つい最近Unityに手を出した者なのですが、GameObjectとPrefabの扱いでいくつか質問があります。
1.オブジェクトをプレハブ化した後、シーン上で元のオブジェクトを削除(単純に見えないようにする、という意味です)するにはどうすればよいのか?
2.例えばキャラクターの装備を変更したい時にはプレハブ化したオブジェクトをインスタンスで呼び出せば良いらしいが、その元オブジェクトはどこに置いておけばよいのか?
初心者丸出しの質問ですが、お教え頂ければ幸いです。よろしくお願い致します。 >>65
アセットストアに装備関係のアセットがありますよ >>65
プレハブ化できている(フォルダ内に移した)なら元のゲームオブジェクトは削除しても問題ない
なにか訳あって残したいんなら左上のチェックボックス外して非活性にするかカラーを透明にする >>67 オブジェクトの読み込みはスクリプトでの制御が良さそうですね、ありがとうございます。
>>68 なるほど、プレハブ化すれば元オブジェクトは要らないのですね…なんか勝手に「プレハブ化元は消せない」と思い込んでいました。ありがとうございます。 すみません、変な質問で申し訳ないのですが
Unityには様々なコンポーネントがありますよね。
公式にて、ゲームオブジェクトが空鍋なら、
コンポーネントはそこに入れる具材だと書いてました。
で、すべてのゲームオブジェクトの、どんなコンポーネントでも、
スクリプト(ソースコード)上で取得することができる、という
私の認識は間違って居ませんでしょうか? 汝らよ、空鍋に入れる具材はキムチと知りなさい。
鍋のキムチを取得したければアセットを買えばよい。
初心者は、我が見守るこのスレで、誉れと思って、そのことを深く記憶にとどめておきなさい。 Hierarchyのラベルの大きさを変えるにはどうしたらいいですか?
リストの行の高さを変えるのが目的です。 >>75
色々と調べましたが、直接ヒエラルキーウィンドを変更するのはないですね
別のエディトウィンドで新規にヒエラルキーを作成してやるなら出来るようです
ただし、かなり難しいので根気がいると思います
別のヒエラルキー作成
ttp://anchan828.hatenablog.jp/entry/2013/12/24/210139
エディタ画面のフォントスタイル変更
ttp://baba-s.hatenablog.com/entry/2015/05/10/114527 一応、サンプルのを2行表示してみたところ、行をかなり開けてます
ttps://i.gyazo.com/f3d5ba142b9547aabe8cb7a4a0589af1.png 直接は無理なんですね。
上記のサイトを参考にして自作してみます。 C#を使用して2Dゲーム制作をしている初心者です
左右の方向キーを使い、特定の位置五ヶ所にキャラクターを移動させるにはどのようにしたらいいのでしょうか?
・移動箇所
☆キャラクター
・ ・ ☆ ・ ・ >>79
左右キーが押されたらキャラクタの座標を変更すればいい
各位置を0〜4の番号を割り振っておいて、今キャラクタが何番にいるか記憶しておく
3番にいるときに右キーが押されれば4番に移動すればいいので4番の座標に動かす
4番にいるときに右キーを押されたら0に行くのか4のままなのかは仕様次第 >>80
ありがとうございます
使うのはifでいいのでしょうか? すごく単純なサンプルなんだけど役に立てば…
ttps://i.gyazo.com/ef87d68ef77ff58c18204f0ec9262445.png
SSのようにあらかじめ決められた場所に配置しておきます、でインスペクタでオブジェクトを指定し、Start関数で一旦全部非表示にします。
ttps://i.gyazo.com/cfc38424c56b616625b93c313f8aebcc.png
あとはキーが入力されたら、その位置のオブジェクトを表示する
ttps://imgur.com/a/7O3lHgW >>81
たぶん自覚してるんだろうけどスタートラインにも立ててないような初心者なんで82のサンプルでも見て何がどうなってるか理解するとこから始めよう
このサンプルが実現したいものを再現してるとは思わんが、これくらいは問題なく理解できないとゲーム作るなんて夢のまた夢 >>82
私のような初心者にサンプルまでつけていただいて…大変恐縮です
ありがとうございます
サンプルを参考に頑張ってみます っていうかキャラクタの移動、って質問者が言ってるのにactiveの切り替えでサンプル作るってすごい発想だな
移動を歩いてるよう見せたいとかしたくなったら破綻すんじゃん 瞬間移動ならいいんじゃね。
直接座標いじるのもいいが、決まった座標かつ少数の移動先なら有効っちゃ有効。
慣れるまでならTranaformいじるよりこっちの方が混乱しないだろ、多分。 漠然と質問なんだから良いんだよ。
キー入力の時、押しっぱとかの対応を書こうとしたけど、要らぬお世話と判断して辞めた。
今はこれぐらいで充分だとね。 >>86-87
何故「弟子 ◆rZPPjYuxmQ」を外して返信するんだ?
何か不都合でもあるのか
分かりづらいのだからコテハン付けたまま同じ端末で書き込んでくれないか >>88
禁止事項に違反してますね
荒らしとして通報させて貰います
この板全体に書き込みできなくなりますよ >>89
>■注意事項
>「アセットを買えば」「チュートリアルやれ」等禁止、初心者の質問疑問に初心者が答えるスレ、ググれじゃなく何のキーワードでググったらいいかを書く
どこのどの部分に違反しているの?
ちょっと見てる人全員に分かるように詳しく説明してくれない? EditorフォルダにBuildPipeline.BuildAssetBundlesのscriptをいれて
プレハブを選択してメニューからBuildAssetBundlesをしてアセットを作りました
UnityStudioから覗くとScene HierarchyはGameObjectだらけ(1つめの画像)
Asset ListのTexture2Dを選択しても何も表示されません。(2つめの画像)
何が問題なんでしょうか。
https://i.imgur.com/nuqT3uz.jpg
https://i.imgur.com/OJ145K6.jpg >>84
めげずに頑張ってください、私で分かる事であればお答えしますので
一応、スムーズにムーブするサンプルです(画像だけ)
ソース欲しいならどっかにうpしますね
ttps://imgur.com/a/xmOYSqk
>>91
ここは素人だらけなので、すごく難しい質問ぽいですね、さくっとアセットバンドルのところを斜め読みしたのですが
ビルドしたのを取り込んで使う場合ってAssetBundle.LoadAsset とかでロードするんでは?
こちらのスレだと解決には厳しいかもしれません >>92
研究したいのでソース見たいです
よろしくお願いします スムーズに動かしたいならTransrateかAddforce使う。
物理挙動も取り入れるならAddforceで物理はどうしても取り入れたくないならTransrateと使い分ける。
サンプル丸コピじゃ成長しないし、少なくとも俺の解説よりは分かると思うから、少しはググるといいと思うよ。 すまんスペル間違えてた。
TransrateじゃなくてTranslateな >>93
リファクタリングして短くなったのでSSであげますね
まぁまたケチ付けたい人が色々と文句ダケ言ってくるかもしれないけど気にせずに
まずは、ソース丸パクリでもどう動いているのか理解する事が重要で
その後に、少し修正してみて、例えば2つ先まで動くとかね
あと今は右、左の最大値は入れてないのでどこまでも行きます
そこは自分で最大値3以上は行かないという感じで修正してみてください
自分も最初は雑誌のBASICを打ち込んで覚えたので丸写しは有効な手段だと思います
ttps://i.gyazo.com/3bd49202b10be38565706a225ef0817e.png
ttps://i.gyazo.com/61e8b2b63be8983c9895bc7807c3592e.png
変数の説明すると
dir 方向
limit 移動限界
移動後、X座標が少数になるのはdeltaTimeを掛けているからなので、まぁこの辺も移動にぴったしな整数にするという事も勉強になる修正かなと思います んじゃ、せっかくだからケチつけてみようかな。
サンプルなんだから分かりやすく書いたほうがいいよ
ってことで、v2posのスコープが広すぎる。Update関数内のローカル変数でいい。ってかv2pos.xしか使ってないんだからfloat pxにしとけばいいだろ。理解するのに30秒かかったわ。(変数生成負荷を嫌ったんだろうけど、見やすさは重要だと思うんだ)
てかlimitって名前が分かりにくい。x座標の目的地なんだからtargetXとかでいいんでね?30秒(略) ついでに、dirこそUpdate関数内ローカルでいい。
int dir=tfTriangle.position.x<limit?1:-1;
って書いとけばcheckrightのなかでdirをゼロにする必要もない。 >>97
これ悪い例ね
pxにして直接potisionに代入できないから、たぶんこの人は作ったこと無くて覚え立てのスコープとか使ってわざわざ自分の才能のなさを書きにきてるのね
そんな時間あるなら自分流のサンプル作って出せばいいのに つーかbasicからやってるような人間がリファクタリングして他人に見せる用として提示するコードがこれなの?
変数大文字から始めるわ、ハンガリアンつけるわでびっくりなんだけど
初学者のため思うならこそちゃんとしたコード見せてあげるべきなのに ■ このスレッドは過去ログ倉庫に格納されています