Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 11.11.2011, 15:06   #16
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

pax, спасибо. Это больше похоже на правду
А как же пауза в играх реализуется? (по сути мне глобальная пауза и нужна)
(Offline)
 
Ответить с цитированием
Старый 11.11.2011, 15:17   #17
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

Time.timeScale=0
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Aikon (11.11.2011)
Старый 11.11.2011, 19:21   #18
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от Lestar Посмотреть сообщение
Time.timeScale=0
Так только можно заморозить объекты, работающие в зависимости от времени.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 11.11.2011, 19:47   #19
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

И..? Нужна безгеморойная пауза работайте с классом Time.Хотите изобретать велосипед -искать все обьекты в сцене и работать с каждой группой отдельно,ваше право.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 11.11.2011, 19:54   #20
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Через тайм не заблокируешь
void Update()
{
   if(
Input.MouseButtonDown(0))
   {

   }

или
void OnMouseButtonDown()
{


Придется в каждой функции обработчики писать.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 11.11.2011, 22:08   #21
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

Надо подумать. Кажется комбинирование двух подходов поможет мне решить задачу.

Со вторым пунктом разобрался: оказалось при импорте модели из 3ds надо было поставить галку Generate Colliders.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (11.11.2011)
Старый 25.11.2011, 14:51   #22
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

Еще пара вопросов.

На сцене несколько предметов, игрок может тыкнуть по любому (на всех висит один и тот же скрипт обработки) и будет отображен диалог, где игрок может выбрать один из вариантов. У каждого предмета свой диалог (варианты задаются в редакторе).

Как реализовать:
1. Допустим выбрали предмет sphere и вариант 2. Как вызвать заранее неизвестную процедуру sphere_2, т.е. Имя_НомерВарианта? Совсем хорошо, если для каждого предмета обработку ответов можно будет в отдельном файле. Как лучше сделать? (вопрос скорее всего по С#)
2. Использую Screen.cursorLock = true, но есть необходимость отслеживать, что пользователь шевелит мышью по горизонтали. Через Input.mousePosition не получается, поскольку курсор фиксированный.
Попробовал через Input.GetAxis("Mouse X"), получилось не очень. Какие еще есть способы отследить мышь?
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 15:02   #23
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
1. http://unity3d.com/support/documenta...ndMessage.html
2. http://unity3d.com/support/documenta...howCursor.html обычно курсор не лочат если он двигаться должен

UPD:
А с другой стороны про движение по горизонтали:

Input.GetAxis("Mouse X"
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Aikon (25.11.2011)
Старый 25.11.2011, 15:44   #24
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

1. Оно, спасибо
2. Курсор залочен и скрыт, поскольку мышка используется для передвижения (не WASD, а по центру, куда игрок смотрит). Объект выбирается, если игрок на него в упор смотрит и кликает.
Кроме GetAxis и GetAxisRaw, насколько я понял, вариантов больше нет?
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 16:29   #25
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Ну если лочить курсор, то получить - двигалась ли мышка можно только через оси.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 28.11.2011, 10:22   #26
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Рейкаст матерится на объект,вернее что его нет,код такой
RaycastHit hit;
         Vector3 fwd = Camera.main.transform.TransformDirection(Vector3.forward);
          if (Physics.Raycast(Camera.main.transform.position, fwd,1))
             Debug.Log(hit.collider.tag.ToString());
NullReferenceException: Object reference not set to an instance of an object
Button1.Update () (at Assets/Scripts/Button1.cs:16)
последняя строка данного кода
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 28.11.2011, 10:46   #27
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Проверь имеет ли камера в сцене тег "MainCamera". иначе свойство Camera.main не найдет нужную камеру.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
RegIon (28.11.2011)
Старый 28.11.2011, 19:29   #28
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Вот что я смутил(не без помощи)WebPlayer.rar
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (28.11.2011)
Старый 05.12.2011, 13:33   #29
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

Еще вопрос:
Нужно событие OnMouseDown, т.е. определять, что мышкой кликнули, а не просто держат. Событие надо отлавливать вне зависимости от того, где находится курсор.

Судя по справке OnMouseDown посылается для GUIElement или Collider.
Добавляю GUITexture, который наследник GUIElement, покрывающее весь экран, и вешаю на него скрипт.
using UnityEngine;
using System.Collections;
public class GameGUI : MonoBehaviour {
	void OnMouseDown()
	{
		Debug.Log("!");
	}
}
Однако фиг - OnMouseDown не приходит. Наверно можно через Box Collider сделать, повесив его перед камерой. Но может быть есть способ проще и лучше?
(Offline)
 
Ответить с цитированием
Старый 05.12.2011, 13:44   #30
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: Вопросы от новичка

Event
Вот так можно отлавливать любые нажатия клавиши/мыши и т.п.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 03:24.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com