Tips

【Unity】練習問題 2

【Unity】練習問題 2

Unity練習問題 問2

UnityのエディターやC#スクリプトのオリジナル問題を紹介していきます。
第2問もイベント関数についての問題です。

問題


下図のシーンが再生されるとき、インスペクター、Sample_2スクリプトの情報から、Consoleに出力される結果として正しいものを全て選択しなさい。

シーン
unity_practice_2

インスペクター
WS000268 WS000269

Sample_2.cs

using UnityEngine;
using System.Collections;

public class Sample_2 : MonoBehaviour {

	void Start () {

	}

	void Update () {

	}

	void OnCollisionEnter(Collision col) {
		Debug.Log("100");
	}

	void OnCollisionStay(Collision col) {
		Debug.Log("200");
	}

	void OnCollisionExit(Collision col) {
		Debug.Log("300");
	}
}

  1. ShereがCubeに接触した瞬間に「100」が出力される。
  2. ShereがCubeに接触した瞬間に「200」が出力される。
  3. ShereがCubeに接触した瞬間に「300」が出力される。
  4. ShereがCubeを転がる間「100」が繰り返し出力される。
  5. ShereがCubeを転がる間「200」が繰り返し出力される。
  6. ShereがCubeを転がる間「300」が繰り返し出力される。
  7. ShereがCubeから離れる瞬間に「100」が出力される。
  8. ShereがCubeから離れる瞬間に「200」が出力される。
  9. ShereがCubeから離れる瞬間に「300」が出力される。
  10. Consoleには、何も出力されない。

解答


解答を見る

1、5、9

解説


解説を見る

以下の3つのメソッドは物理エンジンがオブジェクトの衝突を検知して、自動的に呼び出すイベント関数です。

・OnCollisionEnter()は、Colliderを持ったオブジェクト同士が接触した瞬間に一度だけ自動的に呼ばれます。
・OnCollisionStay()は、Colliderを持ったオブジェクト同士が接触している間、自動的に呼ばれます。
・OnCollisionExit()は、Colliderを持ったオブジェクト同士が離れた瞬間に一度だけ、自動的に呼ばれます。

したがって、Consoleには「100」が1回出力された後、「200」が繰り返し出力され、最後に「300」が1回だけ出力されます。

<<  < 次の問題  前の問題 > >>

[Unity_317×90]

ゲーム制作関連のオススメ連載リンク

とっても手軽なゲーム制作体験!
Unityゲーム開発基礎

実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発

Recent News

Recent Tips

Tag Search