Unity 練習問題 2


Unity練習問題 問2

UnityのエディターやC#スクリプトのオリジナル問題を紹介していきます。

第2問もイベント関数についての問題です。


シーン

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");
	}
}

問題:Consoleに出力される結果として正しいものはどれか。(複数選択可)

  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の記事一覧にもどる

  • このエントリーをはてなブックマークに追加

PAGE TOP