2017-09-01 6 views
0

J'ai un jeu de tic tac toe, et je veux le rendre dynamique, donc j'ai besoin d'une fonction de vérification de collisionneur, mais je ne le trouve pas sur Internet, donc je demande ici. unitéComment vérifier s'il y a un collisionneur (gameobject) sur la position

J'ai ce code pour rendre mon tic tac toe dynamique, ce n'est pas encore fini.

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using UnityEngine.UI; 

public class Test : MonoBehaviour { 

public Transform Button; 
public int rows; 
public int columns; 

void Start() { 

    int i = 0; 
    int x = 0; 
    int y = 0; 

    for (i = 0; i < columns; i++) { 

     Transform newButton = Instantiate<Transform> (Button); 
     newButton.SetParent(GameObject.Find ("ButtonsContainer").transform); 
     newButton.localScale = Vector3.one; 
     newButton.localPosition = new Vector3(x,y,0); 


     } 
    } 
} 
+0

Veuillez préciser ce que vous essayez d'accomplir. [onCollisionEnter] (https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html) peut être utilisé pour détecter les collisions. – ryeMoss

+0

J'essaie de faire une boucle, au début du jeu, il faudra un certain nombre de lignes et de colonnes qui seraient données par l'utilisateur. et vérifiera s'il y a un collisionneur sur cette position. par exemple . Je donne 2 rangs, il va vérifier la position 1 * 150 puis la position 2 * 150 s'il n'y a pas de collisionneur en deuxième position il faut faire le bouton –

Répondre

0

Il y a plusieurs façons que vous déterminer si un collisionneur est dans une certaine position, on serait d'avoir un objet séparé collisionneur que vous passez à la position, puis faites la collision vérifier sur cet objet à l'aide OnCollisionEnter.

Même si vous pouvez atteindre votre objectif de cette façon, je vous recommande d'adopter une approche différente pour déterminer où se trouvent les collisionneurs. Si cela est tic tac toe alors il est basé sur une grille, vous pouvez stocker toutes les données de jeux dans un 2D array et vous connaîtrez toujours la position des objets sans avoir à scanner la scène pour eux. Non seulement cela serait plus efficace, mais cela rendrait également le contrôle des règles beaucoup plus facile.