ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ12·î05Æü(²Ð) 21:19:58ÍúÎò
¡¡¥×¥ì¥¤¥ä¡¼¤Î¸þ¤¤¤Æ¤¤¤ëÊý¸þ¤ËÂФ·¤Æ¡¢º¸±¦Êý¸þ¤ËÃƤò·â¤Áʬ¤±¤Æȯ¼Í¤·¤Þ¤¹¡£
ÃƤβèÁü¤Î¸þ¤¤Ïȯ¼Í¤µ¤ì¤ëÊý¸þ¤Ë¹ç¤ï¤»¤ë¤è¤¦¤ËÀ©¸æ¤·¤Þ¤¹¡£
¡¡ÃƤÎÀ¸À®¤ÈÀ©¸æ¤òƱ»þ¤Ë¹Ô¤¦¥¢¥×¥í¡¼¥Á¤Ç¤¹¡£
¡¡ÃÆÍѤΥץì¥Ï¥Ö¤Ë¤Ï Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤È¥³¥é¥¤¥À¡¼¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£
½ÅÎϤÎÀßÄê¡¢¥È¥ê¥¬¡¼¤ÎÀßÄê¤Ê¤É¤Ï¥²¡¼¥à¤Ë±þ¤¸¤ÆÄ´À°¤·¤Æ¤¯¤À¤µ¤¤¡£
¡ã»²¹Í²èÁü¡ä
¡¡¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥×¥ì¥¤¥ä¡¼¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BulletGenerator : MonoBehaviour { // ÃƤΥץì¥Ï¥Ö public GameObject bulletPrefab; // ÃƤήÅÙ public float bulletSpeed = 10f; ¡¡¡¡// ÃƤÎÀ¸À®°ÌÃÖ public Transform spawnPoint; void Update() { // V¤¬²¡¤µ¤ì¤¿¤é if (Input.GetKeyDown(KeyCode.V)) { ¡¡¡¡¡¡¡¡¡¡¡¡// ÃƤΥץì¥Ï¥Ö¤Î¥¯¥í¡¼¥ó¤òÀ¸À®¤¹¤ë GameObject bullet = Instantiate(bulletPrefab, spawnPoint.transform.position, Quaternion.identity); // ¥×¥ì¥¤¥ä¡¼¤Î¸þ¤¤ò¼èÆÀ float playerDirection = transform.localScale.x; Debug.Log(playerDirection); // ÃƤνé´ü®ÅÙ¤òÀßÄê Rigidbody2D bulletRB = bullet.GetComponent<Rigidbody2D>(); if (bulletRB != null) { Debug.Log(bulletSpeed * playerDirection); // ¥×¥ì¥¤¥ä¡¼¤Î¸þ¤¤Ë±þ¤¸¤Æ½é´ü®ÅÙ¤òÀßÄê bulletRB.velocity = new Vector2(bulletSpeed * playerDirection, 0f); //¡¡²èÁü¤Î¸þ¤¤ò¥¥ã¥é¤Ë¹ç¤ï¤»¤ë Vector3 temp = bullet.transform.localScale; temp.x = transform.localScale.x; bullet.transform.localScale = temp; } } } }
¡ã»²¹Í²èÁü¡ä
¡¡¥²¡¼¥àÆâ¤ËÃƤòÀ¸À®¤¹¤ë½èÍý¤Ï¡¢¤½¤Î¥¢¥¯¥·¥ç¥ó¤Î¿¤µ¤ËÈæÎ㤷¤Æ½èÍý¤ÎÉé²Ù¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢´°À®¤·¤¿½èÍý¤Î¸«Ä¾¤·¤ò¹Ô¤¤¤Ä¤Ä¡¢¸úΨ²½¤ò¿Þ¤ë¤³¤È¤¬ÂçÀڤǤ¹¡£
¡¡Àß·×Éôʬ¤òºÆ¹½ÃÛ¤·¤¿¤ê¡¢Éé²Ù¤Î¤«¤«¤Ã¤Æ¤¤¤ëÉôʬ¤ò¸«¤Ä¤±¤ë¤Ê¤É¡¢¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤Ï¿´ô¤Ë¤ï¤¿¤ê¤Þ¤¹¡£
¡¡º£²ó¤Î¾ì¹ç¡¢¥×¥ì¥Ï¥Ö¤ò¥¢¥µ¥¤¥ó¤¹¤ëºÝ¤Î¥Ç¡¼¥¿·¿¤Î¾ðÊó¤ò GameObject ¤Ç¤Ï¤Ê¤¯¡¢Rigidbody2D ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢Instantiate ¥á¥½¥Ã¥É¤Î½èÍý¤ÎÉôʬ¤âÊѹ¹¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Instantiate ¥á¥½¥Ã¥É¤Ï¡¢Âè1°ú¿ô¤Ë»ØÄꤷ¤¿¥Ç¡¼¥¿·¿¤ò¸µ¤Ë¥×¥ì¥Ï¥Ö¤ò¥¯¥í¡¼¥ó¤¹¤ë½èÍý¤Ç¤¹¡£
¤³¤Î¤È¤¡¢¥×¥ì¥Ï¥Ö¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Ç¤¢¤ì¤Ð¡¢¤¤¤º¤ì¤Ç¤¢¤Ã¤Æ¤â¥¯¥í¡¼¥ó¤òÀ¸À®½ÐÍè¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¡¢À¸À®¤µ¤ì¤¿¥¯¥í¡¼¥ó¤¬¡¢¤½¤Î¸å¡¢¤É¤Î¤è¤¦¤ÊÀ©¸æ¤ò¹Ô¤¦É¬Íפ¬¤¢¤ë¤«¤ò¹Í¤¨¤Æ¡¢
¤½¤ì¤Ë¹ç¤ï¤»¤¿¥Ç¡¼¥¿·¿¤ÇÀ¸À®¤¹¤ëÊý¤¬¸úΨ²½¤ò¿Þ¤ì¤Þ¤¹¡£
¡¡º£²ó¤Ç¤¢¤ì¤Ð¡¢À¸À®¸å¤Ë Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤¹¤ëɬÍפ¬¤¢¤ê¡¢¤½¤Î¤¿¤á¤Ë GetComponent ¥á¥½¥Ã¥É¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¡¡Instantiate ¥á¥½¥Ã¥É¡¢¤½¤·¤Æ GetComponent ¥á¥½¥Ã¥É¤ÏÉé²Ù¤Î¹â¤¤½èÍý¤Ç¤¢¤ë¤¿¤á¡¢
¤¤¤º¤ì¤«¤Î½èÍý¤ò̵¤¯¤·¤¿¤ê¡¢¤¢¤ë¤¤¤Ï¡¢ÍøÍѤ¹¤ë²ó¿ô¤ò¸º¤é¤¹¤³¤È¤¬¤Ç¤¤ì¤Ð¡¢½èÍý¤ÎÉé²Ù·Ú¸º¤ò¿Þ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
¡¡Instantiate ¥á¥½¥Ã¥É¼«ÂΤϥª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤Ê¤É¤Îµ¡Ç½¤òÄɲ乤뤳¤È¤Ç½èÍý¤òÂåÍѤ·¡¢½èÍý¤ÎÉé²Ù·Ú¸º¤¬²Äǽ¤Ç¤¹¤¬¡¢
¤½¤ì¤ÏÊÌÅÓ¡¢µ¡Ç½¤ÎÄɲä¬É¬Íפˤʤ뤿¤á¡¢º£²ó¤Ï Instantiate ¥á¥½¥Ã¥É¤ÏÍøÍѤ·¤Ä¤Ä¡¢¤½¤Î½èÍý¤ÎÌá¤êÃͤˤʤë¥Ç¡¼¥¿·¿¤ò
GameObject ·¿¤«¤é Rigidbody2D ·¿¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£
¡¡·ë²Ì¤È¤·¤Æ¡¢GetComponent ¥á¥½¥Ã¥É¤Î½èÍý¤ò¾Êά¤·¤¿¡¢¸úΨŪ¤Ê¥¢¥×¥í¡¼¥Á¤¬´°À®¤·¤Þ¤¹¡£
¡¡½èÍý¤¬´Êά²½¤µ¤ì¤Æ¤¤¤ë¤È¤È¤â¤Ë¡¢GetComponent ¥á¥½¥Ã¥É¤Î½èÍý¤âÉÔÍפˤʤäƤ¤¤ë¤Î¤Ç½èÍýÉé²Ù¤Î·Ú¸º¤â½ÐÍè¤Æ¤¤¤Þ¤¹¡£
¡¡ÃƤΥץì¥Ï¥Ö¤ËÃÆÍѤΥ¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¡¢
ÃƤÎÀ¸À®ÍѤΥ¹¥¯¥ê¥×¥È¤ÈÌò³ä¤òʬ³ä¤·¤¿¥¢¥×¥í¡¼¥Á¤Ç¤¹¡£
¡¡¤³¤Á¤é¤Î½èÍý¤ÎÊý¤¬½ÀÆðÀ¤¬¹â¤¯¡¢¤Þ¤¿¡¢£±¤Ä¤Î¥¹¥¯¥ê¥×¥ÈÊÕ¤ê¤ÎÀÕ̳¤â¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥×¥ì¥¤¥ä¡¼¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¡¡¥×¥ì¥Ï¥Ö¤ò¥¢¥µ¥¤¥ó¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤Î¥Ç¡¼¥¿·¿¤ò¡¢Bullet ¥¯¥é¥¹¤Ë»ØÄꤷ¤Æ¤¤¤ëÉôʬ¤¬½ÅÍפǤ¹¡£
¡¡
¡¡¤³¤Î¤è¤¦¤Ëʬ³ä¤¹¤ë¤³¤È¤Ç¡¢¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤¬ÆÈΩ¤·¤ÆÀÕ̳¤ò²Ì¤¿¤»¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
Bullet ¥¯¥é¥¹¤ÏÃƤεóÆ°¤Ë´Ø¤¹¤ë¥í¥¸¥Ã¥¯¤ò»ý¤Á¡¢BulletGenerator ¥¯¥é¥¹¤ÏÃƤÎÀ¸À®¤Ë´Ø¤¹¤ë¥í¥¸¥Ã¥¯¤ò»ý¤Á¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢Bullet ¥¯¥é¥¹¤òÍøÍѤ·¤Æ Instantiate ¥á¥½¥Ã¥É¤ò¹Ô¤Ã¤Æ¤¤¤ë¤¿¤á¡¢
À¸À®¸å¤Ë¤¹¤°¤Ë Bullet ¥¯¥é¥¹¤ËÌ¿Îá¤ò½Ð¤¹¤³¤È¤¬½ÐÍè¤Æ¤¤¤Þ¤¹(GetComponent ¥á¥½¥Ã¥É¤ÎÍøÍѤò¤Ê¤¯¤·¤ÆÉé²Ù·Ú¸º¤ò¿Þ¤ì¤Æ¤¤¤Þ¤¹)
¡¡°Ê¾å¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡½èÍý¤òÆɤ߲ò¤¯¤³¤È¤Ç¡¢Â¿ºÌ¤Ê½èÍý¤òµ½Ò½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯