|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
11.11.2011, 15:06
|
#16
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
pax, спасибо. Это больше похоже на правду
А как же пауза в играх реализуется? (по сути мне глобальная пауза и нужна)
|
(Offline)
|
|
11.11.2011, 15:17
|
#17
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Вопросы от новичка
Time.timeScale=0
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.11.2011, 19:21
|
#18
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Lestar
Time.timeScale=0
|
Так только можно заморозить объекты, работающие в зависимости от времени.
|
(Offline)
|
|
11.11.2011, 19:47
|
#19
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Вопросы от новичка
И..? Нужна безгеморойная пауза работайте с классом Time.Хотите изобретать велосипед -искать все обьекты в сцене и работать с каждой группой отдельно,ваше право.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
11.11.2011, 19:54
|
#20
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Через тайм не заблокируешь
void Update() { if(Input.MouseButtonDown(0)) {
} }
или
void OnMouseButtonDown() {
}
Придется в каждой функции обработчики писать.
|
(Offline)
|
|
11.11.2011, 22:08
|
#21
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
Надо подумать. Кажется комбинирование двух подходов поможет мне решить задачу.
Со вторым пунктом разобрался: оказалось при импорте модели из 3ds надо было поставить галку Generate Colliders.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.11.2011, 14:51
|
#22
|
ПроЭктировщик
Регистрация: 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:44
|
#24
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
1. Оно, спасибо
2. Курсор залочен и скрыт, поскольку мышка используется для передвижения (не WASD, а по центру, куда игрок смотрит). Объект выбирается, если игрок на него в упор смотрит и кликает.
Кроме GetAxis и GetAxisRaw, насколько я понял, вариантов больше нет?
|
(Offline)
|
|
25.11.2011, 16:29
|
#25
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Ну если лочить курсор, то получить - двигалась ли мышка можно только через оси.
|
(Offline)
|
|
28.11.2011, 10:22
|
#26
|
Элита
Регистрация: 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)
|
последняя строка данного кода
|
(Offline)
|
|
28.11.2011, 10:46
|
#27
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Проверь имеет ли камера в сцене тег "MainCamera". иначе свойство Camera.main не найдет нужную камеру.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.11.2011, 19:29
|
#28
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
Вот что я смутил(не без помощи) WebPlayer.rar
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.12.2011, 13:33
|
#29
|
ПроЭктировщик
Регистрация: 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
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Вопросы от новичка
Event
Вот так можно отлавливать любые нажатия клавиши/мыши и т.п.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:14.
|