30日目 落ちものゲームを作ろう
オチ物ゲームを制作する。
オブジェクトが落ちてきて、キャラクターが避けるというアレだ。
今回の学習内容は、当たり判定の設定と、
オブジェクトの自動生成、自動削除だ。
このあたりのポイントはユニティちゃんをいじくった際に
コライダの設定でも学習したが、
復習もかねて取り組むことにする。
最初の時はスクリプトもチンプンカンプンだったので、
今回は教材による解説もあり、理解が進むだろう。
キャラクターや障害物として設定する画像の取り込みなどは、もう慣れたものだ。
座標やサイズも教材の設定と合わせる。
次はキャラクターの移動を規定するスクリプトを作成する。
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//左矢印が押されたとき
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
transform.Translate(-3, 0, 0); //左に[3]動かす
}
//右矢印が押されたとき
if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.Translate(3, 0, 0); //右に[3]動かす
}
}
}
……教材通り書いたはずだが、見慣れないエラーが出た。
(カクヨムの仕様で掲載できないがここに画像がある
https://3.bp.blogspot.com/-he8OoFiyoHY/WDsUpVvPgBI/AAAAAAAAThQ/CWeEu8ebun0IufsDwyNcjkRe8Dr0irzXQCLcB/s1600/%25E7%2584%25A1%25E9%25A1%258C_4.png)
>Error CS1061 'Transform' does not contain a definition for 'translate' and no extension method 'translate' accepting a first argument of type 'Transform' could be found (are you missing a using directive or an assembly reference?)
ああ、なるほど、エラーCS106ね、ふむふむ。
なるほどなるほど。全然わからん。
教材のスクリプトと見比べてみても、スペルミスはないようだが……。
ふと、下記のハイライト部分が大文字と小文字の違いがあることに気付いた。
さっそく直してみる。
>transform.translate(-3, 0, 0); //左に[3]動かす
>transform.Translate(-3, 0, 0); //左に[3]動かす
エラーが消えた。
……何が違うんだ?よく分からない。
このエラーは今後も起こりそうな気がする。
だれか大文字小文字の違いがどのような意味なのか
知っていたら教えてほしい。
とりあえず、
左右のキーでキャラクタを移動させるための基礎部分は完成したのでよしとする。
(カクヨムの仕様で掲載できないがここに画像がある
https://4.bp.blogspot.com/-83LtX2qEPfk/WDsVfJjVUYI/AAAAAAAAThU/h1ytERBr2wAuBhBBRdQqaxLfVhSpTEdDgCLcB/s1600/cat.gif)
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます