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

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

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

Unity Мультиплатформенный инструмент для разработки игр

Ответ
 
Опции темы
Старый 25.11.2011, 10:46   #646
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Фак по Юнити.

А что,Unity не может рисовать тени не объекте,если он с вывернутыми нормалями(бегаем по кубику с нормалями внутрь)
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 10:59   #647
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Отключи этому кубу Cast Shadows (повлияет на направленный источник света). Точечные источники работают нормально.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 16:55   #648
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Фак по Юнити.

Вот у меня есть дверь,есть скрипт для неё,есть объект который эту дверь открывает-закрывает.По сути скрипт через public привязывается к объекту у которого должна быть переменная,напимер bool STATUS.Как сделать так,чтоб скрипт выполнялся в зависимости от переменной(как найти переменную)
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 16:56   #649
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

через точку: объект.свойство
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 17:04   #650
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Фак по Юнити.

Assets/Scripts/Door.cs(15,30): error CS1061: Type `UnityEngine.GameObject' does not contain a definition for `Status' and no extension method `Status' of type `UnityEngine.GameObject' could be found (are you missing a using directive or an assembly reference?)
Никак не хотит через точку....
using UnityEngine;
using System.Collections;

public class Door : MonoBehaviour {
    public GameObject Activator;
    // Use this for initialization
    void Start () {

    }
    
    private int anim=0;
    // Update is called once per frame
    void Update () {
        
        if(Activator.status){
            anim=1;
            if(!animation.isPlaying && anim==1) animation.Play("Open"); 
        else{    
            if(!animation.isPlaying && anim==1) animation.Play("Close");
            anim=0;
        }
        
    }
}
}
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 17:18   #651
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Фак по Юнити.

Костян, ясен пень с ошибкой падает.
Сначала надо определить, что это за объект такой Activator, напр.
Activator = GameObject.Find("Player");
Но по-моему ты что-то не то делаешь.
Я бы сделал так:
1. Создал скрипт Door, в котором определил бы
public OnClick() {...}
private bool IsOpen = false;
и повесил бы его на двери.
2. Когда надо открыть дверь, то делаем так
GameObject.Find("Door").GetComponent<Door>().OnCli ck();
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 17:26   #652
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Фак по Юнити.

Костян, ясен пень с ошибкой падает.
Сначала надо определить, что это за объект такой Activator, напр.
 public GameObject Activator;
а это что???
Неа,так потом уйма объектов с разными именами будет(например уже 3 кнопки и 2 двери....) и сотни строк кода...я имено как в халмере сделать хочу.
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 17:49   #653
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Фак по Юнити.

Костян,
public GameObject Activator;
Указывает на то, что у тебя есть Activator типа GameObject, у которого ясен пень свойства статус нет (насколько я понимаю, при таком объявлении создается GameObject вида Dummy из редактора).
Вообще не понял, что ты хочешь. Если тебе надо открывание двери по клику на нее, то вместо OnClick() пиши обработчик OnMouseDown в классе Door. Если надо, чтобы дверь открывалась по клику по кнопке, то у кнопки добавляй свойство
public Door[] doors;
И в редакторе указывай нужную дверь/двери.
В коде кнопки дописывай обработчик OnMouseDown, в котором будут открываться или закрываться все двери, перечисленные в Door[], путем вызова соответствующей public процедуры у класса Door.
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 17:52   #654
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Фак по Юнити.

У Activatora есть скрипт где написанно :public bool status
Он его меняет в зависимости от чего-то ....вот мне её найти нужно(имена скриптов разные...скрипт на объекте один)
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 17:52   #655
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Фак по Юнити.

Те не создал экземпляр класса Activator,поэтому и не находит необходимого поля.В твоем случае делать
Activator.GetComponent<Script>().status 
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Aikon (25.11.2011)
Старый 25.11.2011, 17:58   #656
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Фак по Юнити.

Костян, все понял. Ты наоборот сделал - у каждой двери своя кнопка, которую в редакторе задаешь. Ну тогда Lestar правильно говорит.
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 18:46   #657
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Фак по Юнити.

Никто из вас особо не помог,так как работает только:
Activator.GetComponentInChildren<Varics>.status
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 20:02   #658
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Сообщение от Костян Посмотреть сообщение
Никто из вас особо не помог,так как работает только:
Activator.GetComponentInChildren<Varics>.status
Надо просто точнее задачу ставить. Никто не знал, что скрипт находится на дочернем объекте.

В твоем случае надо было:

1. Создать переменную не типа GameObject, а типа Varics.
2. Назначить этой переменной в редкторе тот скрипт, взаимодействие с которым ты хотел сделать (перетащить назначенный скрипт объекту, на поле, или перетащить на поле сам объект с этим скриптом).
3. Заработает твой пример.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 20:10   #659
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Фак по Юнити.

using UnityEngine;
using System.Collections;

public class Door : MonoBehaviour {
    public GameObject Activator;
    // Use this for initialization
    void Start () {
        
    }
    
    private int anim;
    // Update is called once per frame
    void Update () {
        
        if(Activator.GetComponent<Varics>().Status){
            if(!animation.isPlaying && anim==1){
                animation.Play("open");
                anim=0;
                
            }
            
        }else{    
            if(!animation.isPlaying && anim==0){
                this.animation.Play("close");
                anim=1;}
            }
        }
        
    
}
Как сделать так,чтоб анимация доиграла до конца и встала(при status==1,при этом status нельзя менять),а при status==0 опять проиграла,только другая и встала.
p.s свойства анимации once не предлагать-не работает...
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 20:14   #660
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Попробуй так:

void Start () {
    
animation.wrapMode WrapMode.Once;  

__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
RegIon (26.11.2011)
Ответ


Опции темы

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

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


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


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