レビュー
前回はプラットフォームのコントロールマネージャと基本的な3種類のプラットフォームについて説明しましたが、その他のプラットフォームについても以下で紹介します。
コンテンツ
ミサイル
ミサイルは主に警告線を通過し、プレイヤーにミサイルの存在を知らせた後、水平方向にミサイルを発射し、プレイヤーに触れると死亡するほか、プレイヤーへの警告効果もある。
警告標識は
主に次のコードを使用してミサイルを識別します。
ミサイルの位置と方向を決定する
//导弹方向、位置
direction = Random.Range(0, 2);
transform.localScale = new Vector3(-1, transform.localScale.y);
if (direction == 0)//0代表向左
{
//spriteRenderer = GetComponent<SpriteRenderer>();
//spriteRenderer.flipX = true;//反向
transform.localScale = new Vector3(1, transform.localScale.y);
direction = -1;
}
警告線と場所のヒントを表示する
height = Random.Range(-6f, 5f);
transform.position = new Vector2(-5.5f * direction, height);
//显示位置提示
sprite = Instantiate(warningSprite, new Vector3(-4.2f * direction, height), Quaternion.identity);
AudioSource spriteSource = sprite.GetComponent<AudioSource>();
spriteSource.Play();
//显示警告线
line = Instantiate(warningLine, new Vector3(0, height), Quaternion.identity);
ミサイル飛行
countTime += Time.deltaTime;
//计时之后fly并飞行,2秒前显示,3秒发射,5秒摧毁
if (countTime >= 4)
{
Destroy(gameObject);
}
else if (countTime >= 3)
{
//根据direction发生位移
transform.position += new Vector3(direction * speed * Time.deltaTime, 0);//y相对相机保持静止
}
else if (countTime >= 2)
{
Destroy(sprite);
Destroy(line);
}
else
{
sprite.transform.localScale = new Vector3(Mathf.Abs(1 - countTime) * 0.1f + 0.1f, Mathf.Abs(1 - countTime) * 0.1f + 0.1f, 0);
}
振り子
スイング効果を実現するには、
ボールをターゲットに追従するように設定し、このターゲットの周りを角速度でスイングする必要があります。
図に示すファイルに、このジョイント コンポーネントを追加し、ターゲットを設定してから、スイング。
コンポーネントを取得し、位置情報を設定すればスイングエフェクトが完成します。
LineRenderer line;
void Start()
{
line = GetComponent<LineRenderer>();
}
void Update()
{
line.SetPosition(0, startPoint.position);
line.SetPosition(1, endPoint.position);
}
ゲームコントロール
開始時間を設定し、ゲームのタイミングによってランキング効果を実現します。マルチプレイヤー ゲームに関与していますが、ここではあまり紹介できません。
/在每次场景加载时候就开始计时间
timeScore.text = Time.timeSinceLevelLoad.ToString("00");
要約する
このコンテンツでは、主にファンタジー ジャンプの 2 つの危険因子 (プレイヤーの衝突によって死亡エフェクトがトリガーされる) を共有し、具体的にコードを通じてその実装ロジックを示します。