Gui истребителя\и конверторы скриптов

Программирование на Юнити.

Gui истребителя\и конверторы скриптов

Сообщение ziat 09 ноя 2009, 16:37

Сделал набросок Интрефейса
Изображение
Пояснения к нему:
1- Угол между Носом и вектором движения по горизонтали (те между локальным вектором вперёд модели, и локальной скоростью)
2- Угол между Носом и вектором движения по вертикали (те между локальным вектором вперёд модели, и локальной скоростью)
3- расстояние из центра экрана до препятствия(показывается только если расстояние меньше фиксированного значения)
4- Оружейно-целевая группа, показывает оружие активное в данный момент, количество патронов и расстояние до цели
5- тяговая группа, тяга двигателей и их состояние


А теперь вопросы
- Пункты 1 и 2 предполагается сделать длинной текстурой(в идеале)
Но при этом ряд трудностей: возможно ли её как-нибудь зациклить, также предвижу гемор с маштабом, те чтобы при повороте скажем на градус текстура смещалась пропорционально..
Второй вариант банален до неприличия: напротив стрелочек выводить просто значение, но это не так эффектно

-значит конечно можно всё это подгонять вручную, но нельзя ли создать нечто вроде карты, по которой Юнити сам бы разбросал элементы интерфейса? или методом проб и ошибок подгонять по единичкам?

- Как реализовать смену прозрачности текстур в интефейсе? ну и как поменять цвет текста ?)


Ну и вопрос не совсем по интерфейсу, но как осущесвить переделку скрипта из JC в C++?
И как это сделать менее болезненно?(там скажем есть конверторы, как для BOO)
ziat
UNITрон
 
Сообщения: 199
Зарегистрирован: 07 окт 2009, 21:28
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение mp3 09 ноя 2009, 18:45

Пальчиками и только. Не сльішал о конвертере JS <=> C#. Что нащет Boo <=> JS, то может бьіть и возможно т.к. JS кажется написан на Boo.
Be straight, or go forward.
Аватара пользователя
mp3
Адепт
 
Сообщения: 1071
Зарегистрирован: 21 окт 2009, 23:50

Re: Gui истребителя\и конверторы скриптов

Сообщение gnoblin 09 ноя 2009, 19:39

Ты можешь собрать standalone композицию проекта, открыть dll в проекте reflector'ом - и получишь сконверченные скрипты из жабаскрипта в шарп.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение gerasim 10 ноя 2009, 11:16

Второй раз уже наводят на Рефлектор.. Вот Пейнтер.ехе. написан на (js) .
Как из .ехе взять .длл, и оттуда получить проект переделаный в (c#) ?
Где этот рефлектор?
У вас нет доступа для просмотра вложений в этом сообщении.
Неследите - и неследимы будете.
Аватара пользователя
gerasim
UNITрон
 
Сообщения: 166
Зарегистрирован: 17 апр 2009, 15:56
Откуда: Самара

Re: Gui истребителя\и конверторы скриптов

Сообщение gnoblin 10 ноя 2009, 15:48

Герасим, http://www.red-gate.com/products/reflector/
открываешь dll из проекта и тыркаешь decompile
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение ziat 10 ноя 2009, 20:48

Ясн а с зацикливанием текстуры как быть?
и как с прозрачностью?
ziat
UNITрон
 
Сообщения: 199
Зарегистрирован: 07 окт 2009, 21:28
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение gnoblin 11 ноя 2009, 14:49

Если эта штука сделана через гуи, то прозрачностью можно рулить через GUI.color.a
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение gnoblin 11 ноя 2009, 14:53

Запости скрипт на js - показательно передерем на C#.

Как зациклить текстуру в гуи - я без понятия.
Знаю что можно ее обрезать до нужного окна через GUI.BeginGroup()\GUI.EndGroup();
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение ziat 11 ноя 2009, 15:57

Хотя бы этот

Код: Выделить всё
var speed = 6.0;
var speedmax =100;
var speedf = 0.0;
var rotationSpeed=2;
var dragflag=0;
var speedz= Vector3.zero;
private var thrust=0;

function FixedUpdate() {
      var dragflag=1;
     if (Input.GetKey("v")){
      if (dragflag==1){dragflag=0;}
      else {dragflag=1;}}
    
     if (dragflag==1){rigidbody.drag=0.5;}
     else{rigidbody.drag=0;}
     if (speedf<=speedmax) {
     if(Input.GetKey("x")){speedf+=0.1;}
     }
     if (speedf>=-10) {
     if(Input.GetKey("z")){speedf-=0.1;}
     }
     if(Input.GetButton("Jump")){speedf=0;}
    
         
   
 
   
   rigidbody.AddRelativeForce (new Vector3( 0.0, 0.0, 1.0 ) * speedf * Time.deltaTime, ForceMode.VelocityChange);
   rigidbody.AddRelativeForce (new Vector3(Input.GetAxis("Horizontal")*-1, 0.0, 0.0 ) * speed * Time.deltaTime, ForceMode.VelocityChange);
   rigidbody.AddRelativeForce (new Vector3(Input.GetAxis("Vertical"), 0.0, 0.0) * speed * Time.deltaTime, ForceMode.VelocityChange);
   if (Input.GetKey("e")){k=-1;}
   if (Input.GetKey("q")){k=1;}
   if (Input.GetKeyUp("e")){k=0;}
   if (Input.GetKeyUp("q")){k=0;}
   r=k*rotationSpeed;
   rigidbody.AddRelativeTorque (new Vector3(0.0, 0.0, 1.0 ) * r * Time.deltaTime, ForceMode.VelocityChange);
   speedz=transform.InverseTransformDirection(rigidbody.velocity);
   thrust=(speedf/speedmax)*100;
   
}
function OnGUI()
   {
       GUI.Box(Rect (0,Screen.height-20,150,20), "thrust: "+thrust+"%");
   }


Просто планиру. делать Гуи через отдельный объект и отдельный скрипт, а не как сейчас, в каждом скрипте по элементу ГУИ
Имхо через глобальные переменные С# это всё таки удобнее, чем морочится в яве

Лан тогда придётся делать через числовые значения(, хотя через бегующую текстуру было бы нагляднее и эффектнее( или таки сделать длинную оч и надеятся что игрок не будет вертеться вокруг свои оси поприколу?))
ziat
UNITрон
 
Сообщения: 199
Зарегистрирован: 07 окт 2009, 21:28
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение gnoblin 11 ноя 2009, 17:15

Примерно так
Код: Выделить всё
using UnityEngine;
using System.Collections;
/// <summary>
///
/// </summary>
public class AAA : MonoBehaviour
{

public float speed = 6.0f;
public float speedmax =100f;
public float speedf = 0.0f;
public float rotationSpeed=2f;
public int dragflag=0;
public Vector3 speedz= Vector3.zero;
float thrust;

void FixedUpdate() {
      dragflag=1;
     if (Input.GetKey("v")){
      if (dragflag==1){dragflag=0;}
      else {dragflag=1;}}
     
     if (dragflag==1){rigidbody.drag=0.5f;}
     else{rigidbody.drag=0;}
     if (speedf<=speedmax) {
     if(Input.GetKey("x")){speedf+=0.1f;}
     }
     if (speedf>=-10) {
     if(Input.GetKey("z")){speedf-=0.1f;}
     }
     if(Input.GetButton("Jump")){speedf=0f;}
     
         
   
 
   
   rigidbody.AddRelativeForce (new Vector3( 0.0f, 0.0f, 1.0f ) * speedf * Time.deltaTime, ForceMode.VelocityChange);
   rigidbody.AddRelativeForce (new Vector3(Input.GetAxis("Horizontal")*-1, 0.0f, 0.0f ) * speed * Time.deltaTime, ForceMode.VelocityChange);
   rigidbody.AddRelativeForce (new Vector3(Input.GetAxis("Vertical"), 0.0f, 0.0f) * speed * Time.deltaTime, ForceMode.VelocityChange);
   if (Input.GetKey("e")){k=-1;}
   if (Input.GetKey("q")){k=1;}
   if (Input.GetKeyUp("e")){k=0;}
   if (Input.GetKeyUp("q")){k=0;}
   r=k*rotationSpeed;
   rigidbody.AddRelativeTorque (new Vector3(0.0f, 0.0f, 1.0f ) * r * Time.deltaTime, ForceMode.VelocityChange);
   speedz=transform.InverseTransformDirection(rigidbody.velocity);
   thrust=(speedf/speedmax)*100;
   
}
void OnGUI()
   {
       GUI.Box(new Rect (0,Screen.height-20,150,20), "thrust: "+thrust+"%");
   }
}
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение gerasim 11 ноя 2009, 18:26

Это не показательный передёр через Рефлектор - там уйма this. и base. зачемто - а у тебя всё чистенько.
Неследите - и неследимы будете.
Аватара пользователя
gerasim
UNITрон
 
Сообщения: 166
Зарегистрирован: 17 апр 2009, 15:56
Откуда: Самара

Re: Gui истребителя\и конверторы скриптов

Сообщение ziat 11 ноя 2009, 19:24

о спс,
А чёрт не так страшен как его малюют...
Немного более формально выглядит, чем на яве но вроде бы понятно к чему стремится.

А вот насчёт FixedUpdate я бы поспорил, тк таймер у меня тот совсем маленький выставлен(при больших значениях пули глючили), Так что не факт что так лучше, на мой взгляд.

Но общая суть ясна. Там, где работает со встроенными объектами Unity отличий почти нет, только оформление остального ближе к C++
ну и запомнить шапку.
Значит совсем хорошо
ziat
UNITрон
 
Сообщения: 199
Зарегистрирован: 07 окт 2009, 21:28
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение gnoblin 11 ноя 2009, 19:58

ziat, логику в коде я по-моему вообще не менял :) .

gerasim, что ты пристал с рефлектором.
У тебя не получается? Этот скрипт я руками отредактировал.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение ziat 11 ноя 2009, 20:03

gnoblin писал(а):ziat, логику в коде я по-моему вообще не менял :) .

А надо менять?
Или обращение к стандартным объектам юнити тоже что и в JS?
ziat
UNITрон
 
Сообщения: 199
Зарегистрирован: 07 окт 2009, 21:28
  • Сайт

Re: Gui истребителя\и конверторы скриптов

Сообщение gnoblin 11 ноя 2009, 20:05

Мой предыдущий пост связан с вот этой фразой, которую я не очень понял:
А вот насчёт FixedUpdate я бы поспорил, тк таймер у меня тот совсем маленький выставлен(при больших значениях пули глючили), Так что не факт что так лучше, на мой взгляд.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

След.

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6