Новичкам в Unity JS посвящяется. - Форум Игроделов
Пт, 19 Апр 2024, 12:38 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Новичкам в Unity JS посвящяется. (Небольшой урок по JS.)
Новичкам в Unity JS посвящяется.
VolkOrievithДата: Ср, 24 Июл 2013, 22:30 | Сообщение # 1
Нет аватара
 
Сообщений: 222
Награды: 0
Репутация: 53
Статус: Offline
Сам долго мучился, додумываясь, как же мне реализовать то-то или то-то.
Приведу несколько простых кодов:

Из скрипта X меняем переменную Bullets в скрипте Fire (Имя можете придумать любое другое), на другом объекте по нажатию левой мыши.
Тут так: Допустим нам надо пополнить потроны. Мы Объявляем переменную ScriptFire (1) её надо установить в инспекторе, затем в функции Update() (2), которая повторяется каждый кадр, проверяем, нажата-ли клавиша "Fire 1" (по стандарту - левая кнопка мыши) (3), после чего проверяем, есть ли на объекте ScriptFire скрипт Fire (4). Теперь надо изменить переменную Bullets (5). Всё.
Код

var ScriptFire : GameObject; // 1

function Update () { // 2
if (Input.GetButtonDown("Fire 1"){ // 3 (Если нажата клавиша "Fire 1")
if (ScriptFire.GetComponent("Fire")) // 4 (Есть ли на объекте ScriptFire скрипт Fire)
ScriptFire.GetComponent("Fire").Bullets = 10; // 5 (Устанавливаем значение переменной)
}
}

или отключаем скрипт Fire:
Код

var ScriptFire : GameObject;

function Update () {
if (Input.GetButtonDown("Fire 1"){ // (Проверяем, нажата ли клавиша "Fire 1")
if (ScriptFire.GetComponent("Fire")) // 4 (Есть ли на объекте ScriptFire скрипт Fire)
ScriptFire.GetComponent("Fire").enabled = false; // Отключаем скрипт Fire.
}
}

или находим игрока по тегу (Установить тег игрока, например, Player), затем находим среди его потомков (В окне иерархии) скрипт Fire и отключаем его:
Код

private var Player : GameObject;

function Update () {
if (!Player){ // если переменная Player не установлена,
Player = GameObject.FindGameObjectWithTag("Player");// находим игрока по тегу Player.
}else{ // иначе (если переменная Player установлена),
if (Input.GetButtonDown("Fire 1") {// (если нажата клавиша "Fire 1")
Player.GetComponentInChildren(Fire).enabled = false; // находим среди потомков  Player объект, со скриптом Fire и отключаем скрипт
}
}
}

Может это странно, но я очень долго не мог понять, как сделать всё выше перечисленное.
Поменять переменную Bullets на скрипте Fire, на родительском объекте (его можно визуально найти в окне иерархии) можно так:

Код

function Update () {
if (Input.GetButtonDown("Fire 1"){
transform.parent.gameObject.GetComponent("Fire").Bullets = 10; // трансформ.родитель.gameObject.взять компонент "Fire".Bullets = 10;
}
}

удочерить объект другому объекту можно так:
Код

var MineParent : GameObject;

function Update () {
if (Input.GetButtonDown("Fire 1"){
transform.parent = MineParent.transform; // трансформ.родитель = значение переменной MineParent.трансформ;
}
}

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

PS.
seaman, теперь норм?


Сообщение отредактировал VolkOrievith - Чт, 25 Июл 2013, 09:46
 
СообщениеСам долго мучился, додумываясь, как же мне реализовать то-то или то-то.
Приведу несколько простых кодов:

Из скрипта X меняем переменную Bullets в скрипте Fire (Имя можете придумать любое другое), на другом объекте по нажатию левой мыши.
Тут так: Допустим нам надо пополнить потроны. Мы Объявляем переменную ScriptFire (1) её надо установить в инспекторе, затем в функции Update() (2), которая повторяется каждый кадр, проверяем, нажата-ли клавиша "Fire 1" (по стандарту - левая кнопка мыши) (3), после чего проверяем, есть ли на объекте ScriptFire скрипт Fire (4). Теперь надо изменить переменную Bullets (5). Всё.
Код

var ScriptFire : GameObject; // 1

function Update () { // 2
if (Input.GetButtonDown("Fire 1"){ // 3 (Если нажата клавиша "Fire 1")
if (ScriptFire.GetComponent("Fire")) // 4 (Есть ли на объекте ScriptFire скрипт Fire)
ScriptFire.GetComponent("Fire").Bullets = 10; // 5 (Устанавливаем значение переменной)
}
}

или отключаем скрипт Fire:
Код

var ScriptFire : GameObject;

function Update () {
if (Input.GetButtonDown("Fire 1"){ // (Проверяем, нажата ли клавиша "Fire 1")
if (ScriptFire.GetComponent("Fire")) // 4 (Есть ли на объекте ScriptFire скрипт Fire)
ScriptFire.GetComponent("Fire").enabled = false; // Отключаем скрипт Fire.
}
}

или находим игрока по тегу (Установить тег игрока, например, Player), затем находим среди его потомков (В окне иерархии) скрипт Fire и отключаем его:
Код

private var Player : GameObject;

function Update () {
if (!Player){ // если переменная Player не установлена,
Player = GameObject.FindGameObjectWithTag("Player");// находим игрока по тегу Player.
}else{ // иначе (если переменная Player установлена),
if (Input.GetButtonDown("Fire 1") {// (если нажата клавиша "Fire 1")
Player.GetComponentInChildren(Fire).enabled = false; // находим среди потомков  Player объект, со скриптом Fire и отключаем скрипт
}
}
}

Может это странно, но я очень долго не мог понять, как сделать всё выше перечисленное.
Поменять переменную Bullets на скрипте Fire, на родительском объекте (его можно визуально найти в окне иерархии) можно так:

Код

function Update () {
if (Input.GetButtonDown("Fire 1"){
transform.parent.gameObject.GetComponent("Fire").Bullets = 10; // трансформ.родитель.gameObject.взять компонент "Fire".Bullets = 10;
}
}

удочерить объект другому объекту можно так:
Код

var MineParent : GameObject;

function Update () {
if (Input.GetButtonDown("Fire 1"){
transform.parent = MineParent.transform; // трансформ.родитель = значение переменной MineParent.трансформ;
}
}

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

PS.
seaman, теперь норм?

Автор - VolkOrievith
Дата добавления - 24 Июл 2013 в 22:30
seamanДата: Ср, 24 Июл 2013, 23:37 | Сообщение # 2
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Спрошу.
А теперь словами объясни - как все это работает. Иначе нубы чуть в сторону - все-равно ничего не смогут сделать.
 
СообщениеСпрошу.
А теперь словами объясни - как все это работает. Иначе нубы чуть в сторону - все-равно ничего не смогут сделать.

Автор - seaman
Дата добавления - 24 Июл 2013 в 23:37
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Новичкам в Unity JS посвящяется. (Небольшой урок по JS.)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024