Программирование. - Форум Игроделов
Вт, 07 Май 2024, 21:12 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » ИГРОВЫЕ ПРОЕКТЫ » System Error - разработка » Программирование. (Полная тех. часть всего проекта.)
Программирование.
FunnyAlienДата: Ср, 09 Мар 2011, 20:22 | Сообщение # 1
NYAN-NYAN?
 
Сообщений: 3643
Награды: 14
Репутация: 835
Статус: Offline
Пишем на Js. Сюда буду складывать готовые скрипты.

Добавлено (09.03.2011, 20:07)
---------------------------------------------
Скрипт возрождения при падении. FPC задевает триггер и срабатывает загрузка уровня. Если потребуется переписать - пишите.

Code
function OnTriggerEnter (myTrigger : Collider) { //myTrigger - что хотите
   if(myTrigger.gameObject.name == "Cube"){ //сюда не забудьте переписать класс, который указали выше
    Application.LoadLevel (0); // загрузить нулевой уровень
   }
}

Скрипт на триггер и на FPC. Больше информации здесь.

Добавлено (09.03.2011, 20:12)
---------------------------------------------
Выстрел объектами под физикой.

Code
var object : Rigidbody; //объект, который будем кидать
var speed = 20; //скорость

function Update()
{
   if( Input.GetButtonDown( "Fire1" ) ) //fire1 - левая кнопка мыши
   {
    var instantiatedProjectile : Rigidbody =   
    Instantiate( projectile, transform.position, transform.rotation );
    instantiatedProjectile.velocity = transform.TransformDirection( Vector3( 0, 0, speed ) );   
    }

В инспекторе не забудьте вставить ригидбоди которым будем стрелять. Скрипт на MainCamer'у.

Добавлено (09.03.2011, 20:15)
---------------------------------------------
Счетчик времени. Очень удобен для подсчета времени игры.

Code
var currentTime: float = 0.0; //в начале время равно 0 секунд
var timeDecrice: float = 1.0; //насколько увеличивает числа, в моем случае на 1, как секунда
function Update(){
  currentTime += Time.deltaTime * timeDecrice; //увеличиваем время
}
function OnGUI(){
  GUI.Label (Rect (10, 20, 100, 20), "Time: "+Mathf.RoundToInt(currentTime)); //выводим его
}

Скрипт на маинкамеру.

Добавлено (09.03.2011, 20:17)
---------------------------------------------
Скрипт дающий возможность создать игру про шарик который катается на стрелочках. Попробуйте сами.

Code
using UnityEngine;
using System.Collections;

public class Control : MonoBehaviour {

     public float movementSpeed = 6.0f; //скорость
      
     void Update () {
         Vector3 movement = (Input.GetAxis("Horizontal") * -Vector3.left * movementSpeed) + (Input.GetAxis("Vertical") * Vector3.forward *movementSpeed);
         rigidbody.AddForce(movement, ForceMode.Force);
     }
      
}

Скрипт на объект + ему прицепите ригидбоди. Это C#.

Добавлено (09.03.2011, 20:20)
---------------------------------------------
Данный скрипт показывает состояние FPS в Вашем проекте.

Code
var updateInterval = 0.5; //интервал обновления в секундах

private var accum = 0.0;
private var frames = 0;
private var timeleft : float;

function Start()  
{  
      if( !guiText )  
      {  
          print ("Go!");  
          enabled = false;  
          return;  
      }  
      timeleft = updateInterval;    
}  

function Update()  
{  
      timeleft -= Time.deltaTime;  
      accum += Time.timeScale/Time.deltaTime;  
      ++frames;  
        
      if( timeleft <= 0.0 )  
      {  
          // display two fractional digits (f2 format)  
          guiText.text = "" + (accum/frames).ToString("f2");  
          timeleft = updateInterval;  
          accum = 0.0;  
          frames = 0;  
      }  
}

Вешать на GuiText.

Добавлено (09.03.2011, 20:22)
---------------------------------------------
Блокирование курсора в центре экрана и его скрытие. Специально для игр от первого лица.

Code
function Update () {
     //залочить курсор
     Screen.lockCursor = true;
}

     if (Input.GetKeyDown ("escape"))
         //отлочить курсор
         Screen.lockCursor = false;

Ставить на майнкамеру. Ескейп отключает лок.


Согласно протоколу испытаний, начиная с этого момента, мы перестаем говорить правду. Три, два, один.
 
СообщениеПишем на Js. Сюда буду складывать готовые скрипты.

Добавлено (09.03.2011, 20:07)
---------------------------------------------
Скрипт возрождения при падении. FPC задевает триггер и срабатывает загрузка уровня. Если потребуется переписать - пишите.

Code
function OnTriggerEnter (myTrigger : Collider) { //myTrigger - что хотите
   if(myTrigger.gameObject.name == "Cube"){ //сюда не забудьте переписать класс, который указали выше
    Application.LoadLevel (0); // загрузить нулевой уровень
   }
}

Скрипт на триггер и на FPC. Больше информации здесь.

Добавлено (09.03.2011, 20:12)
---------------------------------------------
Выстрел объектами под физикой.

Code
var object : Rigidbody; //объект, который будем кидать
var speed = 20; //скорость

function Update()
{
   if( Input.GetButtonDown( "Fire1" ) ) //fire1 - левая кнопка мыши
   {
    var instantiatedProjectile : Rigidbody =   
    Instantiate( projectile, transform.position, transform.rotation );
    instantiatedProjectile.velocity = transform.TransformDirection( Vector3( 0, 0, speed ) );   
    }

В инспекторе не забудьте вставить ригидбоди которым будем стрелять. Скрипт на MainCamer'у.

Добавлено (09.03.2011, 20:15)
---------------------------------------------
Счетчик времени. Очень удобен для подсчета времени игры.

Code
var currentTime: float = 0.0; //в начале время равно 0 секунд
var timeDecrice: float = 1.0; //насколько увеличивает числа, в моем случае на 1, как секунда
function Update(){
  currentTime += Time.deltaTime * timeDecrice; //увеличиваем время
}
function OnGUI(){
  GUI.Label (Rect (10, 20, 100, 20), "Time: "+Mathf.RoundToInt(currentTime)); //выводим его
}

Скрипт на маинкамеру.

Добавлено (09.03.2011, 20:17)
---------------------------------------------
Скрипт дающий возможность создать игру про шарик который катается на стрелочках. Попробуйте сами.

Code
using UnityEngine;
using System.Collections;

public class Control : MonoBehaviour {

     public float movementSpeed = 6.0f; //скорость
      
     void Update () {
         Vector3 movement = (Input.GetAxis("Horizontal") * -Vector3.left * movementSpeed) + (Input.GetAxis("Vertical") * Vector3.forward *movementSpeed);
         rigidbody.AddForce(movement, ForceMode.Force);
     }
      
}

Скрипт на объект + ему прицепите ригидбоди. Это C#.

Добавлено (09.03.2011, 20:20)
---------------------------------------------
Данный скрипт показывает состояние FPS в Вашем проекте.

Code
var updateInterval = 0.5; //интервал обновления в секундах

private var accum = 0.0;
private var frames = 0;
private var timeleft : float;

function Start()  
{  
      if( !guiText )  
      {  
          print ("Go!");  
          enabled = false;  
          return;  
      }  
      timeleft = updateInterval;    
}  

function Update()  
{  
      timeleft -= Time.deltaTime;  
      accum += Time.timeScale/Time.deltaTime;  
      ++frames;  
        
      if( timeleft <= 0.0 )  
      {  
          // display two fractional digits (f2 format)  
          guiText.text = "" + (accum/frames).ToString("f2");  
          timeleft = updateInterval;  
          accum = 0.0;  
          frames = 0;  
      }  
}

Вешать на GuiText.

Добавлено (09.03.2011, 20:22)
---------------------------------------------
Блокирование курсора в центре экрана и его скрытие. Специально для игр от первого лица.

Code
function Update () {
     //залочить курсор
     Screen.lockCursor = true;
}

     if (Input.GetKeyDown ("escape"))
         //отлочить курсор
         Screen.lockCursor = false;

Ставить на майнкамеру. Ескейп отключает лок.


Автор - FunnyAlien
Дата добавления - 09 Мар 2011 в 20:22
noTformaTДата: Ср, 09 Мар 2011, 21:28 | Сообщение # 2
Ukrainian independent game developer
 
Сообщений: 241
Награды: 3
Репутация: 105
Статус: Offline
Quote (FunnyAlien)
В инспекторе не забудьте вставить ригидбоди которым будем стрелять. Скрипт на MainCamer'у.

Quote (FunnyAlien)
+ ему прицепите ригидбоди. Это C#.

лучше укажите в коде через дерективу:
Code
@script RequireComponent(название компонента);

Это не даст юнити использовать скрипт без соответствующих компонентов на объекте smile


@noTformaT
Блог разработчика игр: Релиз Glow Web.
 
Сообщение
Quote (FunnyAlien)
В инспекторе не забудьте вставить ригидбоди которым будем стрелять. Скрипт на MainCamer'у.

Quote (FunnyAlien)
+ ему прицепите ригидбоди. Это C#.

лучше укажите в коде через дерективу:
Code
@script RequireComponent(название компонента);

Это не даст юнити использовать скрипт без соответствующих компонентов на объекте smile

Автор - noTformaT
Дата добавления - 09 Мар 2011 в 21:28
FunnyAlienДата: Ср, 09 Мар 2011, 21:35 | Сообщение # 3
NYAN-NYAN?
 
Сообщений: 3643
Награды: 14
Репутация: 835
Статус: Offline
Не думаю что это потребуется.

Согласно протоколу испытаний, начиная с этого момента, мы перестаем говорить правду. Три, два, один.
 
СообщениеНе думаю что это потребуется.

Автор - FunnyAlien
Дата добавления - 09 Мар 2011 в 21:35
noTformaTДата: Ср, 09 Мар 2011, 21:37 | Сообщение # 4
Ukrainian independent game developer
 
Сообщений: 241
Награды: 3
Репутация: 105
Статус: Offline
Quote (FunnyAlien)
Не думаю что это потребуется.

ну смотри, стандартные скрипты юнити используют эту возможность, да и это очень хороший тон в разработке, а то потом начнут спрашивать че это не работает, какие компоненты нужны и т.д. smile


@noTformaT
Блог разработчика игр: Релиз Glow Web.
 
Сообщение
Quote (FunnyAlien)
Не думаю что это потребуется.

ну смотри, стандартные скрипты юнити используют эту возможность, да и это очень хороший тон в разработке, а то потом начнут спрашивать че это не работает, какие компоненты нужны и т.д. smile

Автор - noTformaT
Дата добавления - 09 Мар 2011 в 21:37
DekterevДата: Ср, 09 Мар 2011, 21:49 | Сообщение # 5
 
Сообщений: 1753
Награды: 16
Репутация: 892
Статус: Offline
Quote (FunnyAlien)
Не думаю что это потребуется.

Лишним не будет, если это предотвратит возможные ошибки в будущем.


Поиск | Правила | Новые сообщения
 
Сообщение
Quote (FunnyAlien)
Не думаю что это потребуется.

Лишним не будет, если это предотвратит возможные ошибки в будущем.

Автор - Dekterev
Дата добавления - 09 Мар 2011 в 21:49
Форум Игроделов » ИГРОВЫЕ ПРОЕКТЫ » System Error - разработка » Программирование. (Полная тех. часть всего проекта.)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024