Скрипт Строительства

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Скрипт Строительства

Сообщение tyrbo123 22 окт 2012, 17:56

Ребят надежда только на вас.Что нужно сделать вот с этим скриптом
Чтобы было такое окно в нём кнопки нажимаеш допустим на кнопку "Полатка" и ставиться модель полатки, жмёш "блок" и ставиш блок
в этом скрипте уже есть окно при нажатии кнопки M но меня очень не устраивает то что при нажати кнопки "название блока" просто меняется текстура куба, мне же надо чтобы было такоеже окно но при нажатии кнопки спавнилась другая модель а не менялась текстура!!!

ОЧЕНЬ НУЖНА ВАША ПОМОЩЬ!!! [curved_hands]

РЕБЯТ НУ ПОМОГИТЕ ЁЛКИ ПАЛКИ

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class MineCraftController : MonoBehaviour {

public GameObject block;
public Material mat_blue;
public Material mat_red;
// Use this for initialization
void Start () {
  Screen.showCursor = false;
}

// Update is called once per frame
void Update () {
  Ray ray = Camera.mainCamera.ScreenPointToRay(new Vector3(Screen.width/2,Screen.height/2,0));
  RaycastHit hit;

  if(Physics.Raycast(ray,out hit,5f) && hit.collider.tag == "Block")
  {  
   if(Input.GetMouseButtonUp(0))
   {
        Vector3 pos = hit.collider.transform.position;
        pos += hit.normal;
 
        Instantiate(block,pos,Quaternion.identity);
   }
   else if(Input.GetMouseButtonUp(1))
   {
        DestroyObject(hit.collider.gameObject);
   }
  }else if(Physics.Raycast(ray,out hit,5f) && hit.collider.name == "Plane")
  {
 
   if(Input.GetMouseButtonUp(0))
   {
        Vector3 pos = hit.point;
        pos.y = 0;
        pos.x = Mathf.Round(pos.x);
        pos.z = Mathf.Round(pos.z);
 
        Instantiate(block,pos,Quaternion.identity);
   }
  }
}

void OnGUI()
{
  if(Input.GetKey(KeyCode.M))
  {
   Screen.showCursor = true;
 
   GUILayout.BeginVertical();
   GUILayout.Label(block.renderer.sharedMaterial.name + "");
 
   if(GUILayout.Button("Blue"))
   {
        block.renderer.sharedMaterial = mat_blue;
   }
   if(GUILayout.Button("Red"))
   {
        block.renderer.sharedMaterial = mat_red;
   }
   GUILayout.EndVertical();
  }
  else
  {
   Screen.showCursor = false;
  }
}
}
Аватара пользователя
tyrbo123
UNIт
 
Сообщения: 111
Зарегистрирован: 18 июн 2012, 23:12

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 27