Скрипт для взрыва - Форум Игроделов
Пн, 20 Май 2024, 11:04 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » Скрипт для взрыва
Скрипт для взрыва
serega990306Дата: Вс, 06 Июл 2014, 11:32 | Сообщение # 1
Нет аватара
 
Сообщений: 17
Награды: 0
Репутация: 0
Статус: Offline
Я использую этот скрипт для взрыва, но мне нужно поставить таймер так чтобы взрыв проигрывался через 30 секунд после старта сцены один раз. Подскажите как это правильно сделать.
using UnityEngine;
using System.Collections;

public class ResetExplosion : MonoBehaviour {

private ParticleSystem Explosion;
private float TimeElapsed = 0;

// Use this for initialization
void Start ()
{
Explosion = GameObject.Find("Explosion").GetComponent<ParticleSystem>();
}

void PlayExplosion()
{
if ( Explosion != null )
Explosion.Play();
}

// Update is called once per frame
void Update ()
{
TimeElapsed += Time.deltaTime;

if ( TimeElapsed > 2 )
{
TimeElapsed = 0;
PlayExplosion();
}
}
}
 
СообщениеЯ использую этот скрипт для взрыва, но мне нужно поставить таймер так чтобы взрыв проигрывался через 30 секунд после старта сцены один раз. Подскажите как это правильно сделать.
using UnityEngine;
using System.Collections;

public class ResetExplosion : MonoBehaviour {

private ParticleSystem Explosion;
private float TimeElapsed = 0;

// Use this for initialization
void Start ()
{
Explosion = GameObject.Find("Explosion").GetComponent<ParticleSystem>();
}

void PlayExplosion()
{
if ( Explosion != null )
Explosion.Play();
}

// Update is called once per frame
void Update ()
{
TimeElapsed += Time.deltaTime;

if ( TimeElapsed > 2 )
{
TimeElapsed = 0;
PlayExplosion();
}
}
}

Автор - serega990306
Дата добавления - 06 Июл 2014 в 11:32
AltairДата: Вс, 06 Июл 2014, 11:44 | Сообщение # 2
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
serega990306, либо ставишь
Код
function Update () {
timer += Time.time;
if(timer >= 30)
//explosion
}

либо можно так )
Код
function Start ()  
{  
yield WaitForSeconds(30);
//explosion
}

Но первый способ лучше)
 
Сообщениеserega990306, либо ставишь
Код
function Update () {
timer += Time.time;
if(timer >= 30)
//explosion
}

либо можно так )
Код
function Start ()  
{  
yield WaitForSeconds(30);
//explosion
}

Но первый способ лучше)

Автор - Altair
Дата добавления - 06 Июл 2014 в 11:44
serega990306Дата: Ср, 09 Июл 2014, 14:28 | Сообщение # 3
Нет аватара
 
Сообщений: 17
Награды: 0
Репутация: 0
Статус: Offline
Цитата Altair ()
Но первый способ лучше)

Вставил первый и появилась ошибка Unexpected symbol `}'
Вставил второй опять появилась ошибка Unexpected symbol `(', expecting `)', `,', `;', `[', or `='
Может я не туда ставлю? Подскажите пожалуйста.
 
Сообщение
Цитата Altair ()
Но первый способ лучше)

Вставил первый и появилась ошибка Unexpected symbol `}'
Вставил второй опять появилась ошибка Unexpected symbol `(', expecting `)', `,', `;', `[', or `='
Может я не туда ставлю? Подскажите пожалуйста.

Автор - serega990306
Дата добавления - 09 Июл 2014 в 14:28
ЛевшаДата: Ср, 09 Июл 2014, 16:06 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата serega990306 ()
Может я не туда ставлю?

А может ты Js код в C# скрипт вставляеш ? smile


X.cor.R (Prologue)
 
Сообщение
Цитата serega990306 ()
Может я не туда ставлю?

А может ты Js код в C# скрипт вставляеш ? smile

Автор - Левша
Дата добавления - 09 Июл 2014 в 16:06
serega990306Дата: Чт, 10 Июл 2014, 04:52 | Сообщение # 5
Нет аватара
 
Сообщений: 17
Награды: 0
Репутация: 0
Статус: Offline
Цитата Altair ()
а на шарп переведи их сам

using UnityEngine;
using System.Collections;
using System.Timers;

public class StartExplosion : MonoBehaviour {

// Use this for initialization
void Start () {
Explosion = GameObject.Find("Explosion").GetComponent<ParticleSystem>();
}

// Update is called once per frame
void Update () {
timer += Time.time;
timer.Interval = 5000
timer.start
PlayExplosion();
}
}

Так?
 
Сообщение
Цитата Altair ()
а на шарп переведи их сам

using UnityEngine;
using System.Collections;
using System.Timers;

public class StartExplosion : MonoBehaviour {

// Use this for initialization
void Start () {
Explosion = GameObject.Find("Explosion").GetComponent<ParticleSystem>();
}

// Update is called once per frame
void Update () {
timer += Time.time;
timer.Interval = 5000
timer.start
PlayExplosion();
}
}

Так?

Автор - serega990306
Дата добавления - 10 Июл 2014 в 04:52
AltairДата: Чт, 10 Июл 2014, 10:29 | Сообщение # 6
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
Код
using UnityEngine;      
using System.Collections;      

public class StartExplosion : MonoBehaviour {      
float timer = 0F;
float maxTime = 60F;

// Update is called once per frame      
void Update () {      
timer += Time.time;      
if(timer >= maxTime)
PlayExplosion();      
}      
void PlayExplosion () {
//instantiate explosion prefab
//destroyTimer
Destroy(gameObject);
}
}

      
 
Сообщение
Код
using UnityEngine;      
using System.Collections;      

public class StartExplosion : MonoBehaviour {      
float timer = 0F;
float maxTime = 60F;

// Update is called once per frame      
void Update () {      
timer += Time.time;      
if(timer >= maxTime)
PlayExplosion();      
}      
void PlayExplosion () {
//instantiate explosion prefab
//destroyTimer
Destroy(gameObject);
}
}

      

Автор - Altair
Дата добавления - 10 Июл 2014 в 10:29
serega990306Дата: Чт, 10 Июл 2014, 17:30 | Сообщение # 7
Нет аватара
 
Сообщений: 17
Награды: 0
Репутация: 0
Статус: Offline
Цитата Altair ()
using UnityEngine;
using System.Collections;

public class StartExplosion : MonoBehaviour {
float timer = 0F;
float maxTime = 60F;

// Update is called once per frame
void Update () {
timer += Time.time;
if(timer >= maxTime)
PlayExplosion();
}
void PlayExplosion () {
//instantiate explosion prefab
//destroyTimer
Destory(gameObject);
}
}



Пишет The name `Destory' does not exist in the current context
 
Сообщение
Цитата Altair ()
using UnityEngine;
using System.Collections;

public class StartExplosion : MonoBehaviour {
float timer = 0F;
float maxTime = 60F;

// Update is called once per frame
void Update () {
timer += Time.time;
if(timer >= maxTime)
PlayExplosion();
}
void PlayExplosion () {
//instantiate explosion prefab
//destroyTimer
Destory(gameObject);
}
}



Пишет The name `Destory' does not exist in the current context

Автор - serega990306
Дата добавления - 10 Июл 2014 в 17:30
AltairДата: Чт, 10 Июл 2014, 18:28 | Сообщение # 8
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
serega990306, из-за моей клавы получилась опечатка ..а вы в обще знакомы с языком хоть как-то ? ибо бы даже примитивное исправить не знаете как и в обще что это такое..и так где комменты вы должны дальше сами писать..
 
Сообщениеserega990306, из-за моей клавы получилась опечатка ..а вы в обще знакомы с языком хоть как-то ? ибо бы даже примитивное исправить не знаете как и в обще что это такое..и так где комменты вы должны дальше сами писать..

Автор - Altair
Дата добавления - 10 Июл 2014 в 18:28
Thedrhax14Дата: Чт, 10 Июл 2014, 21:14 | Сообщение # 9
 
Сообщений: 54
Награды: 0
Репутация: 1
Статус: Offline
serega
Просто исправь destory на destroy


Виду блог про разроботку игр и про свои проекты https://thedrhax14.wordpress.com/
 
Сообщениеserega
Просто исправь destory на destroy

Автор - Thedrhax14
Дата добавления - 10 Июл 2014 в 21:14
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » Скрипт для взрыва
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024