Среда, 25 Декабря 2024, 04:08

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • pixeyeДата: Вторник, 03 Июля 2012, 21:37 | Сообщение # 2481
    Red Winter Software
    Сейчас нет на сайте
    Quote (-AL-)
    Прошу простить, могу повторятся.
    Но вот вопрос:
    Я создаю GUI Box
    Code
    GUI.Box (boxEnergy, _energy + "%");

    И мне нужно чтобы при наведении на этот самый бокс появлялся еще один в позиции мыши. (что-то типо title на html)

    Пробовал работать в переменными, но все даром, ведь не знаю как сам скрипт на гуи повесить чтобы отследить его через OnMouseEnter.
    Пример прошу на C#. Заранее спасибо.


    Покажи свой код, я с гуи юнитивским не работал, но там ничего сложного. Если у тебя есть наработка по идее быстро поправим) Сил нет сейчас с нуля мучать)

    Логика то простая.
    Считываешь положение мышки ( Input.mousePosition )
    Делаешь проверку. Если нажата кнопка ТО и внутри делаешь что угодно, либо создаешь прямо там свой лейб, либо вызываешь функцию, либо переменную меняешь.


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    SnakeRДата: Вторник, 03 Июля 2012, 21:41 | Сообщение # 2482
    постоянный участник
    Сейчас нет на сайте
    -AL-, лень же по справке пошариться?))) OnMouseEnter

    Unity3D Developer
    Ваш лучший помощник при разработке в Unity3D
    -AL-Дата: Вторник, 03 Июля 2012, 22:02 | Сообщение # 2483
    был не раз
    Сейчас нет на сайте
    Quote (pixeye)
    Покажи свой код

    Code

       public bool invMods = true;
       public GUISkin customSkin;
         
       public Rect boxLvl;
       public Rect boxEnergy;
               
    void OnGUI() {
       // Уровень
        if (invMods == true)
         GUI.Label (boxLvl,lvl + " lvl");
          
       // Энергия
        if (invMods == true)
        GUI.Box (boxEnergy, _energy + "%");
    }

    Ну, собственно, эта часть отвечает за гуи у меня.
    Quote (pixeye)
    Если нажата кнопка

    Не, не, нужно именно наведение на созданный GUI Box отследить.)
    Вот пример:

    Quote (SnakeR)
    лень же по справке пошариться?))) OnMouseEnter

    Да в том то и дело, не знаю на что вешать скрипт.
    Люди, спасайте, прошу)


    Сообщение отредактировал -AL- - Вторник, 03 Июля 2012, 22:02
    pixeyeДата: Вторник, 03 Июля 2012, 22:16 | Сообщение # 2484
    Red Winter Software
    Сейчас нет на сайте
    Code
       public bool invMods = true;  
        public GUISkin customSkin;  
        public bool isMouseOn = false;    
        public Rect boxLvl;  
        public Rect boxEnergy;  
          
    void OnMouseEnter(){  
    isMouseOn = true;
    }

             
    void OnGUI() {  

        if (isMouseOn)
        GUI.Label (boxLvl,lvl + " MMBUGOGA");  

        // Уровень  
         if (invMods == true)  
          GUI.Label (boxLvl,lvl + " lvl");  
            
        // Энергия  
         if (invMods == true)  
         GUI.Box (boxEnergy, _energy + "%");  
    }


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    -AL-Дата: Вторник, 03 Июля 2012, 22:37 | Сообщение # 2485
    был не раз
    Сейчас нет на сайте
    pixeye, Спасибо, но такого эффекта можно добиться просто заюзав функцию OnMouseEnter().
    Ну вот, например, у меня этот скрипт весит на модели гг (тоесть с ним связанна и основная камера), так вот, получается, что скрипт будет работать, если навести мышь на гг. А я хочу отследить курсор мыши именно на GUI элементе.
    SnakeRДата: Вторник, 03 Июля 2012, 23:12 | Сообщение # 2486
    постоянный участник
    Сейчас нет на сайте
    -AL-, сделай пустой геймобжект, напиши 1 скрипт который будет отвечать за GUI и в нем уже реализуй то что тебе надо посредством OnMouseEnter().

    Unity3D Developer
    Ваш лучший помощник при разработке в Unity3D
    -AL-Дата: Вторник, 03 Июля 2012, 23:54 | Сообщение # 2487
    был не раз
    Сейчас нет на сайте
    SnakeR, Пошалю пожалуй с этим вариантом. Всем спасибо за помощь! smile

    Сообщение отредактировал -AL- - Вторник, 03 Июля 2012, 23:55
    NovatorvladДата: Среда, 04 Июля 2012, 11:02 | Сообщение # 2488
    постоянный участник
    Сейчас нет на сайте
    Приветствую товарищи.
    Встал такой вопрос, как лучше реализовать удар мечом ? У меня сейчас на конце меча болтается коллизия, однако это не то что нужно.... Также читал, что возможно сделать ray'ем, но объекты не будут реагировать как на коллизию. Есть ли еще варианты ?


    Девбложек
    IrondustДата: Среда, 04 Июля 2012, 12:17 | Сообщение # 2489
    участник
    Сейчас нет на сайте
    Если обычная атака для РТС или простой рпг, то лучше рейкастом. А так кроме коллизии незнаю
    EizahlerДата: Среда, 04 Июля 2012, 12:33 | Сообщение # 2490
    участник
    Сейчас нет на сайте
    Novatorvlad, у Digital Tutors есть серия видеоуроков Melee Weapon Systems in Unity. Там как раз с мечом. Я еще не смотрел, так что не знаю как и что там, тем более они на js пишут, но их очень нахваливают.
    NovatorvladДата: Среда, 04 Июля 2012, 14:07 | Сообщение # 2491
    постоянный участник
    Сейчас нет на сайте
    Eizahler, Благодарю. Посмотрю как-нибудь.

    Девбложек
    MyACTДата: Среда, 04 Июля 2012, 15:34 | Сообщение # 2492
    C# CODERS
    Сейчас нет на сайте
    Novatorvlad, можно сделать банальным путем,проверить дистанцию до объекта и проверять смотрит ли на него камера smile

    3дэшечки: https://sketchfab.com/myactyindie
    Курентли воркс он: https://myacty.itch.io/raskopnik
    NovatorvladДата: Среда, 04 Июля 2012, 15:57 | Сообщение # 2493
    постоянный участник
    Сейчас нет на сайте
    MyACT, Это понятно, мне нужно, чтоб предметы реагировали на столкновение с мечом.

    Девбложек

    Сообщение отредактировал Novatorvlad - Среда, 04 Июля 2012, 15:58
    pixeyeДата: Четверг, 05 Июля 2012, 00:43 | Сообщение # 2494
    Red Winter Software
    Сейчас нет на сайте
    Quote (Novatorvlad)
    MyACT, Это понятно, мне нужно, чтоб предметы реагировали на столкновение с мечом.


    Повесь капсулу или бокс коллайдер на меч. Сделай скрипт меча и проверяй столкновения.


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    SquareHaterДата: Четверг, 05 Июля 2012, 00:44 | Сообщение # 2495
    участник
    Сейчас нет на сайте
    Novatorvlad, можно сделать так чтоб работало только когда с мечем столкнулся и все.
    AmmokuДата: Четверг, 05 Июля 2012, 04:14 | Сообщение # 2496
    частый гость
    Сейчас нет на сайте
    Никто не сталкивался в последнем обновлении - 3.5.3 с глюками в кастомных шейдерах?
    В альфа-канале шейдера появился какой-то зеленый оттенок, там где альфа имеет некоторый процент прозрачности.
    Откатился на 3.5.2 все норм, ставлю 3.5.3 - зеленый туман(кастомный шейдер, не дефолтовый), вместо того который нужен...
    Шейдер делался через Strumpy Shader Editor. Задал этот же вопрос на оф форуме, для профилактики...


    Сообщение отредактировал Ammoku - Четверг, 05 Июля 2012, 04:17
    Timujin61Дата: Четверг, 05 Июля 2012, 12:35 | Сообщение # 2497
    участник
    Сейчас нет на сайте
    Люди, в чём я ошибся?

    using UnityEngine;
    using System.Collections;

    public class PlayaerHealth : MonoBehaviour {
    //публичные переменные для настроек
    public int maxHealth = 100;

    //блок переменных локального пользования
    private int _curHealth = 100;

    private float healthBarLength
    //производятся начальные рассчёты при создании объекта
    void Start () {
    //Задаём начальную ширину бара здоровья
    healthBarLength = Screen.width /2
    //предотврощает ввод неправильного значения
    //максимального здоровья
    if(maxHealth<1) maxHealth = 1;
    _curHealth = maxHealth;
    }

    void update () {

    }

    void onGUI (){
    //выводится бар состояния здоровья и его числовые значения
    GUI.Box(new Rect(10,10,healthBarLength,20), _curHealth + "/" + maxHealth);
    }
    public void AddjactCurrentHealth( int adj){
    _curHealth = adj;
    //блок по предотвращению получения неверного состояния здоровья
    if(_curHealth < 0) _curHealth = 0;
    if(_curHealth > maxHealth) _curHealth = maxHealth;

    healthBarLength = (Screen.width /2) * (_curHealth / (float)maxHealth);
    }


    Разрабатываю зов крови:з

    Сообщение отредактировал Timujin61 - Четверг, 05 Июля 2012, 12:36
    pixeyeДата: Четверг, 05 Июля 2012, 14:31 | Сообщение # 2498
    Red Winter Software
    Сейчас нет на сайте
    Quote (Timujin61)
    Люди, в чём я ошибся?


    В том, что не указал какую ошибку выдает.


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    SarCasmДата: Четверг, 05 Июля 2012, 14:57 | Сообщение # 2499
    заслуженный участник
    Сейчас нет на сайте
    Quote
    //Задаём начальную ширину бара здоровья
    healthBarLength = Screen.width /2

    Ну и где ";" ? Facepalm


    Моя игра Gamiron#11 - Тема Скачать
    SquareHaterДата: Четверг, 05 Июля 2012, 16:23 | Сообщение # 2500
    участник
    Сейчас нет на сайте
    как сделать периметр
    Поиск:

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