Четверг, 28 Марта 2024, 18:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » как сделать звук ставки блоков как в Minecraft (как сделать звук ставки блоков как в Minecraft)
как сделать звук ставки блоков как в Minecraft
Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 16:48 | Сообщение # 1
частый гость
Сейчас нет на сайте
как сделать звук ставки блоков как в Minecraft.Я хотел бы сделать так:
Когда ставишь блок проигрывался звук как в Minecraft.Вот скрипт ставки блоков:
Код
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Gamer : MonoBehaviour
{

     public GameObject block;
     public Material mat_blue;
     public Material mat_red;
  public Material mat_black;
   

     // Use this for initialization
     void Start()
     {
         LoadBlocks();//new
         block.renderer.sharedMaterial = mat_blue;//new
         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.CompareTag("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, 10f) && hit.collider.name.Equals("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;
             }
    if (GUILayout.Button("Black"))
             {
                 block.renderer.sharedMaterial = mat_red;
             }
             GUILayout.EndVertical();
         }
         else
         {
             Screen.showCursor = false;
         }
     }

     void OnApplicationQuit()
     {
         SaveBlocks();
     }
     /// <summary>
     /// Для загрузки блоков
     /// </summary>
     void LoadBlocks()
     {
         //если нету записи, то выходим
         if (!PlayerPrefs.HasKey("blocks"))
             return;
         //получаем строку, содержащую все блоки
         string strBlocks = PlayerPrefs.GetString("blocks");
         //получаем массив блоков
         string[] masBlocks = strBlocks.Split(new char[] { ';' }, System.StringSplitOptions.RemoveEmptyEntries);
         //перебираем каждый блок
         foreach (string s in masBlocks)
         {
             //Массив параметров блока
             string[] masParam = s.Split(new char[] { '#' }, System.StringSplitOptions.RemoveEmptyEntries);
             //Позиция
             Vector3 pos = new Vector3(float.Parse(masParam[0]), float.Parse(masParam[1]), float.Parse(masParam[2]));
             //Тип материала
             byte matType = byte.Parse(masParam[4]);
             block.renderer.sharedMaterial = GetMatById(matType);
             //Добавляем блок на сцену
             Instantiate(block, pos, Quaternion.identity);
         }

         Debug.Log(string.Format("Загружено {0} блоков!", masBlocks.Length));
     }
     /// <summary>
     /// Для сохранения блоков
     /// </summary>
     void SaveBlocks()
     {
         //получаем все блоки на сцене
         GameObject[] allBlocks = GameObject.FindGameObjectsWithTag("Block");
         string saveStr = "";
         //берем каждый блок
         foreach (GameObject g in allBlocks)
         {
             //позиция блока
             Vector3 pos = g.transform.position;
             //записываем информацию о блоке в строку.
             saveStr += string.Format("{0}#{1}#{2}#{3}#{4};", pos.x, pos.y, pos.z, GetIdByMat(g.renderer.sharedMaterial));
         }
         //добавляем строку с блоками в хронилище
         PlayerPrefs.SetString("blocks", saveStr);
         //сохраняем!!!
         PlayerPrefs.Save();

         Debug.Log(string.Format("Сохранено {0} блоков", allBlocks.Length));
     }
     /// <summary>
     /// Возвращает ИД указанного материала
     /// </summary>
     /// <param name="m"></param>
     /// <returns></returns>
     byte GetIdByMat(Material m){
         switch (m.name)
         {
             case "mBlue":
                 return 0;
             case "mRed":
                 return 1;
    case "mblue":
                 return 2;
    case "mblack":
                 return 3;
             default:
                 return 0;
         }
     }
     /// <summary>
     /// Возвращает Материал по ИД
     /// </summary>
     /// <param name="id"></param>
     /// <returns></returns>
     Material GetMatById(byte id)
     {
         switch (id)
         {
             case 0:
                 return mat_blue;
             case 1:
                 return mat_red;
    case 2:
                 return mat_black;
             default:
                 return mat_blue;
         }
     }
}


robertonoДата: Воскресенье, 18 Августа 2013, 17:06 | Сообщение # 2
Чокнутый Кот
Сейчас нет на сайте
пхххахахахахах biggrin biggrin biggrin biggrin biggrin biggrin biggrin biggrin biggrin biggrin
Ты уже совсем надоел со своими вопросами .
Всем.
Я же тебе говорил не задавай тупые вопросы.
Вот, изучай
http://docs.unity3d.com/Documen....ay.html
Maxs_Pro_Fresh, а шта если я ни играл в миникруфтт ? Щито там за звуки?
pixeye не вопроспринимай всерьез. biggrin
Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 17:11 | Сообщение # 3
частый гость
Сейчас нет на сайте
Цитата (robertono)
Ты уже совсем надоел со своими вопросами . Всем. Я же тебе говорил не задавай тупые вопросы. Вот, изучай http://docs.unity3d.com/Documen....ay.html Maxs_Pro_Fresh, а шта если я ни играл в миникруфтт ? Щито там за звуки? pixeye не вопроспринимай всерьез.

Во первых:
У меня вполне нормальные вопросы
Во вторых:
Какое тебе то дело,не нравяться мои вопросы не отвечай!На Referense такой темы нет.Я искал!


robertonoДата: Воскресенье, 18 Августа 2013, 17:15 | Сообщение # 4
Чокнутый Кот
Сейчас нет на сайте
Цитата (Maxs_Pro_Fresh)
На Referense такой темы нет.Я искал!

Нафига Зачем тебе искать если я дал тебе ссылку?

Цитата (Maxs_Pro_Fresh)
У меня вполне нормальные вопросы

в гугле забанили? Я знаю отсылать в гугл - оффтоп, но всё же поиском по интернету лучше уметь пользоваться!

Добавлено (18.08.2013, 17:15)
---------------------------------------------
Цитата (Maxs_Pro_Fresh)
У меня вполне нормальные вопросы

ты по пустякам сразу лезишь на форум даже не поискав.

http://lmgtfy.com/?q=unit....3%D0%BA

Тут полно русских туториалов и видео уроков!
Руки - крюки.


Сообщение отредактировал robertono - Воскресенье, 18 Августа 2013, 17:15
Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 17:17 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата (robertono)
в гугле забанили? Я знаю отсылать в гугл - оффтоп, но всё же поиском по интернету лучше уметь пользоваться!

Ну ты и ишак беременный.Я искал.Такой темы нет.
Я же тебе сказал.Не нравиться.Не отвечай


И чё мне это дало.Я это уже искал.




Сообщение отредактировал Maxs_Pro_Fresh - Воскресенье, 18 Августа 2013, 17:18
robertonoДата: Воскресенье, 18 Августа 2013, 17:23 | Сообщение # 6
Чокнутый Кот
Сейчас нет на сайте
Maxs_Pro_Fresh, да ёмаё что ты такой тупой. Зачем тебе уже искать? Я тебе дал ссылку на референс. Там написано что нужно написать в скриптах и какой компонент использовать!

Добавлено (18.08.2013, 17:23)
---------------------------------------------
Maxs_Pro_Fresh, ненравиться референс ? На, держи. Тут есть картинки happy
http://docs.unity3d.com/Documentation/Manual/Sound.html
http://docs.unity3d.com/Documentation/Manual/AudioFiles.html

Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 17:27 | Сообщение # 7
частый гость
Сейчас нет на сайте
Цитата (robertono)
Maxs_Pro_Fresh, да ёмаё что ты такой тупой. Зачем тебе уже искать? Я тебе дал ссылку на референс. Там написано что нужно написать в скриптах и какой компонент использовать!

Ты е*******?Мне не нужен просто звук.Мне нужно что бы когда я ставлю блок проигрывался звук!


robertonoДата: Воскресенье, 18 Августа 2013, 17:29 | Сообщение # 8
Чокнутый Кот
Сейчас нет на сайте
Maxs_Pro_Fresh, тебе нужно mine package смотреть. И РАЗБИРАТЬСЯ САМОМУ.
http://forum.unity3d.com/threads/69573-MinePackage-Minecraft-starter-package
Качай его, суй в юнити. Там есть и генерация мира из блоков, и разрушение, и звуки , и куча скриптов, и этапы поломки блока.
Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 17:32 | Сообщение # 9
частый гость
Сейчас нет на сайте
Цитата (robertono)
Maxs_Pro_Fresh, тебе нужно mine package смотреть. И РАЗБИРАТЬСЯ САМОМУ. http://forum.unity3d.com/threads/69573-MinePackage-Minecraft-starter-package Качай его, суй в юнити. Там есть и генерация мира из блоков, и разрушение, и звуки , и куча скриптов, и этапы поломки блока.

Мне не нужен исходник.Я хочю сделать всё самому.А таким как ты на форуме делать вообще нечево!Кстати.Package не скачиваеться.Там вирусняк!


robertonoДата: Воскресенье, 18 Августа 2013, 17:35 | Сообщение # 10
Чокнутый Кот
Сейчас нет на сайте
Maxs_Pro_Fresh, так блин как ты сделаешь сам если ты скачал скрипт постройки блоками? Ты что свои правила нарушаешь то ? Иди делай свой скрипт по постройке блоков! Вор :P

Добавлено (18.08.2013, 17:35)
---------------------------------------------

Цитата (Maxs_Pro_Fresh)
Кстати.Package не скачиваеться.Там вирусняк!

что за фигню ты выдумал? Вот самая прямая ссылка. Без поворотов smile
http://www.filefactory.com/file/b48a41e/n/MinePackage.unitypackage
Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 17:38 | Сообщение # 11
частый гость
Сейчас нет на сайте
Цитата (robertono)
Maxs_Pro_Fresh, так блин как ты сделаешь сам если ты скачал скрипт постройки блоками? Ты что свои правила нарушаешь то ? Иди делай свой скрипт по постройке блоков! Вор :P

Твоя задача помочь или не браться помогать если не умеешь.Обсуждать где я взял скрипт не твоё дело!


robertonoДата: Воскресенье, 18 Августа 2013, 17:42 | Сообщение # 12
Чокнутый Кот
Сейчас нет на сайте
Maxs_Pro_Fresh, какой же ты наивный. Ты думаешь так легко сделаешь minecraft ? Если ты даже не знаешь как он впринципе работает. Ты разбил мир на чанки ? Сделал автоподгрузку? Я тебе помог, дал столько ссылок полезных. Умный уже бы с первой ссылки всё понял. Да что я говорю, он бы сам в гугле нашёл.
Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 17:46 | Сообщение # 13
частый гость
Сейчас нет на сайте
Цитата (robertono)
Maxs_Pro_Fresh, какой же ты наивный. Ты думаешь так легко сделаешь minecraft ? Если ты даже не знаешь как он впринципе работает. Ты разбил мир на чанки ? Сделал автоподгрузку? Я тебе помог, дал столько ссылок полезных. Умный уже бы с первой ссылки всё понял. Да что я говорю, он бы сам в гугле нашёл.

Если ты такой крутой так чё мне помогаешь.Не работает тот скрипт с Referense.Не показано куда его вешать.Это по твоему полезная ссылка.Да ты сам лох если даёшь такие ссылки!


robertonoДата: Воскресенье, 18 Августа 2013, 17:54 | Сообщение # 14
Чокнутый Кот
Сейчас нет на сайте
Maxs_Pro_Fresh,
Что бы я тебе помог,
не тупи и не кричи.
Что бы я тебе помог,
пришли скрин того,
что ты криво сделал.
biggrin

Добавлено (18.08.2013, 17:54)
---------------------------------------------
Модераторы, внимание : оффтоп повсюду

KlizizДата: Воскресенье, 18 Августа 2013, 17:54 | Сообщение # 15
частый гость
Сейчас нет на сайте
Вставлять туда где у тебя создаётся кирпич. И не кати на рефернс, лучший из всех самоучителей, если дружишь с головой и с логикой) И хотя бы слышал о программировании
JHawkДата: Воскресенье, 18 Августа 2013, 18:03 | Сообщение # 16
めゃくちゃちゃ
Сейчас нет на сайте
Maxs_Pro_Fresh, мега фейспалм. Потерпи еще чуть чуть. Пожалуйста. Скоро в школу.
robertonoДата: Воскресенье, 18 Августа 2013, 18:06 | Сообщение # 17
Чокнутый Кот
Сейчас нет на сайте
О ну наконец то мне решили помочь biggrin
PovstalezДата: Воскресенье, 18 Августа 2013, 19:14 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
Maxs_Pro_Fresh, Пожалуйста, удались с форума, весь раздел только и забит твоими темами! Для таких вопросов есть гугл или на крайняк есть тема "Вопрос-[ответ] по Unity.". Туда и пиши вопросы школьника ребенка.

Сообщение отредактировал Povstalez - Воскресенье, 18 Августа 2013, 19:14
Maxs_Pro_FreshДата: Воскресенье, 18 Августа 2013, 19:59 | Сообщение # 19
частый гость
Сейчас нет на сайте
Как же вы заебали.Robertono ты сам ёбаный школьник.
JHJawk.Тоже ёбаный школьник!


seamanДата: Воскресенье, 18 Августа 2013, 20:06 | Сообщение # 20
старожил
Сейчас нет на сайте
robertono
Предупреждаю. На этом форуме поосторожней со ссылками на Гугл. У меня тут два предупреждения. Одно точно не помню за что. Второе за то, что послал в Гугл. Здешним админам это почему то не нравится.
ДА, а топикастера я бы за ругань просто забанил.


Сообщение отредактировал seaman - Воскресенье, 18 Августа 2013, 20:11
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » как сделать звук ставки блоков как в Minecraft (как сделать звук ставки блоков как в Minecraft)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг