Game Maker - создание игр | HellRoom Games
Ноябрь 16, 2025, 04:02:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Меню паузы на одну клавишу  (Прочитано 9062 раз)
0 Пользователей и 1 Гость смотрят эту тему.
piligrin
Участник
****

Репутация: 16
Offline Offline

API: Unity 3D
Сообщений: 235


« : Ноябрь 03, 2012, 11:45:17 »

Скажите, как правильно написать этот код  на ява-скрипт, чтоб работало:

Или как отключить эти переменные (var mouseSpeed; и var speed;) из скрипта c# ?
Записан
Born for go
Участник
****

Репутация: 10
Offline Offline

Сообщений: 157


« Ответ #1 : Ноябрь 10, 2012, 16:22:11 »

1. Вопрос сформулирован ужасно
2. Читаемость кода ужасная
3. Вот Ваш
Код:
var mouseSpeed : float = 4.0;
var speed : float = 0.1;

function Update ()
{
if(Input.GetKeyDown(KeyCode.Escape))
{
mouseSpeed.enabled = !mouseSpeed.enabled ;
speed.enabled = !speed.enabled ;
}
}
// просто уберите "|| Input.GetKeyDown(KeyCode.N)", элементарно
4. Чтобы отключить переменные - сотрите их Мда.... элементарно же
Записан
piligrin
Участник
****

Репутация: 16
Offline Offline

API: Unity 3D
Сообщений: 235


« Ответ #2 : Ноябрь 10, 2012, 21:08:49 »

Born for go, мне искренне жаль, что мой код поверг Вас в ужас    Теперь уже понимаю, что вопрос был задан некорректно. Думал, что я неправильно перевёл этот код из шарпа в яву, но проблема была в другом месте и уже устранена.
 Что значит стереть переменные? Не понимаю о чём Вы. Мне нужно из скрипта C#  выключать/включать переменные в ява-скрипте(или выключать/включать весь ява-скрипт), если такое возможно, конечно. Типа этого: GetComponent<класс скрипта>().enabled = false; или: GetComponent<класс скрипта>().переменная = false;(только из си-шарпа в яве). Если можете, дайте код, которым это можно сделать.
(Ещё раз прошу прощения за причинённые неудобства, задаю вопросы со своего уровня познаний unity и скриптинга, которые, увы, невелики.)
Записан
Born for go
Участник
****

Репутация: 10
Offline Offline

Сообщений: 157


« Ответ #3 : Ноябрь 11, 2012, 12:17:58 »

Опять же вопрос сформулирован не очень. Ну думаю, Вы имели в виду изменение переменной ява скрипта посредством C#?
Записан
piligrin
Участник
****

Репутация: 16
Offline Offline

API: Unity 3D
Сообщений: 235


« Ответ #4 : Ноябрь 11, 2012, 15:37:04 »

...думаю, Вы имели в виду изменение переменной ява скрипта посредством C#?
Да, именно так. Но на всякий случай ещё раз расскажу.
Есть ява скрипт с переменной   var speed : float = 5.0; И есть скрипт си шарп с кнопкой:
   if(Input.GetKeyDown(KeyCode.Escape))
   {
      Переменная в ява скрипте speed  = false;
   }
Записан
Alcatraz
Flight Dream Studio
«Старожил форума»
******

Репутация: 392
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Unity 3D3 место в конкурсе: Адекватные игры #2 [Стимпанк]2 место за игру: Dead Night (Конкурс Золотые Руки)...
API: Unity 3D
Деятельность: C#, C++, UNITY3D
Сообщений: 3392


http://vk.com/alcatraz_rus


WWW
« Ответ #5 : Ноябрь 11, 2012, 15:48:32 »

зачем 2 скрипта на 2-х языках?

Тогда делай так:


Код:
  if(Input.GetKeyDown(KeyCode.Escape))
   {
      gameObject.SendMessage("SetSpeed",false);
   }

а в ява скрипте пропиши:
Код:

function SetSpeed(b : boolean) {
speed = f;
}

действие кода - скрипт будет посылать своему объекту сигнал. и другим скриптам тоже. Делай так, если оба скрипта на одном объекте, если на разных,
то gameObject. замени на переменную с объектом, т.е так:

Код:
var obj : GameObject;

______
obj.SendMessage(итд).
Записан

piligrin
Участник
****

Репутация: 16
Offline Offline

API: Unity 3D
Сообщений: 235


« Ответ #6 : Ноябрь 11, 2012, 20:35:24 »

зачем 2 скрипта на 2-х языках?
Потому,что не получается перевести его из явы в шарп,вот и приходится плясать между ними.

Да, скрипты на разных объектах.Я наверное делаю что-то не так, потому, что в скрипте C# выдаёт ошибку: "obj." - не существует в текущем контексте.
Делаю вот так:
Ява-скрипт "NoclipedCamera.js"
Скрипт C# "Functions.cs"


И ещё, не понял в этой строке что писать вместо " f " :
function SetSpeed(b : boolean) {
speed = f;
}
Записан
Alcatraz
Flight Dream Studio
«Старожил форума»
******

Репутация: 392
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Unity 3D3 место в конкурсе: Адекватные игры #2 [Стимпанк]2 место за игру: Dead Night (Конкурс Золотые Руки)...
API: Unity 3D
Деятельность: C#, C++, UNITY3D
Сообщений: 3392


http://vk.com/alcatraz_rus


WWW
« Ответ #7 : Ноябрь 11, 2012, 21:23:35 »

Моя ошибка. вместо f пиши b (переменная из аргумента функции).

obj нужно задать, если в разных объектах.
Записан

piligrin
Участник
****

Репутация: 16
Offline Offline

API: Unity 3D
Сообщений: 235


« Ответ #8 : Ноябрь 13, 2012, 10:03:44 »

Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.111 секунд. Запросов: 31.