Форум программистов, компьютерный форум, киберфорум
Наши страницы
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
 
TwinkleGames
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 10
#1

Не работает скомпилированная игра - Unity, Unity3D

07.07.2017, 17:32. Просмотров 453. Ответов 10
Метки нет (Все метки)

В редакторе все работает, а в скомпилированной игре не работают 2д элементы и система частиц. Сам проект 2д но содержит объемные элементы с которыми как раз и нет проблем. Подскажите в чем может быть проблема.
http://www.cyberforum.ru/unity/thread1476369.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2017, 17:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не работает скомпилированная игра (Unity, Unity3D):

Игра работает корректно в Unity, но не работает после билда
Разрабатываю игру на Android. Решил сделать билд для проверки на телефоне. В...

Не работает игра после компиляции
Здравствуйте, программисты. Проблема такая: Перед компиляцией(В Unity), игра...

Скомпилированная программа не работает
что делать ????сохраняю файл в формате .EXE ,открываю с копа начинает...

Не работает скомпилированная программа VB
Программка VB в режиме интерпретатора работает, откомпилированная выдает...

Не работает скомпилированная функция
Здравствуйте. Я понемногу осваиваю PL/SQL, так что если что не судите строго....

10
Prog_maker
392 / 350 / 140
Регистрация: 23.01.2011
Сообщений: 980
07.07.2017, 18:44 #2
Вы хоть скрины покажите где и что у вас не работает. Под какую платформу компилируете?
1
TwinkleGames
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 10
08.07.2017, 10:22  [ТС] #3
Компилирую под Винду. к сожалению только что несколько раз попытался загрузить скрин, так и не получилось( error 404.
суть такова что нажатием на клавишу я вращаю барабан и увеличиваю на один интовую переменную обозначающую у меня номер круга, по краю у него триггеры, при соприкосновении стартует таймер, когда барабан останавливается таймер доходит до завершения активируется прикрепленный к данному триггеру объект лампочка с партиклами, и при разном номере круга выдает рандомно карточку из соответствующего кругу массива. Всего кругов пять и они идут по определенному порядку.
Изначально проект создан как 2д, но в нем присутствуют 3д элементы(барабан и стрелка которая соприкасается с триггерами на барабане).
В скомпилированной игре не работают карточки и партикл систем
0
TwinkleGames
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 10
08.07.2017, 10:24  [ТС] #4
Не работает скомпилированная игра
0
TwinkleGames
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 10
08.07.2017, 10:34  [ТС] #5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class RandomRotate : MonoBehaviour {
    
    public float Speed;
    public bool Go;
    public int Round;
    public int Scene = 0;
    // Use this for initialization
    void Start () {
        Speed = 0;
        Go = false;
    }
    
    // Update is called once per frame
    void Update () {
        System.Random rand = new System.Random();
        gameObject.transform.Rotate(0, 0, Speed * Time.deltaTime);
 
        Speed--;
        if (Input.GetKeyUp(KeyCode.F))
        {
            Go = true;
            //GameObject.FindGameObjectsWithTag("Card1"); 
            Speed = rand.Next(300, 700);
 
            Round++;
        }
        if (Speed <= 0)
        {
 
            Speed = 0;
        }
        if(Round == 7)
        {
            Application.LoadLevel(Scene);
        }
    }
}
Добавлено через 1 минуту
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class ActiveBall : MonoBehaviour {
    public float Timer;
    public float TimerC;
    public GameObject Light;
    public bool Go;
    public GameObject Sparkl;
    public GameObject[] Round1;
    public GameObject[] Round2;
    public GameObject[] Round3;
    public GameObject[] Round4;
    public GameObject[] Round5;
    public RandomRotate Zapusk;
    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
 
        if(Go == true&& Zapusk.Go == true)
        {
            Timer += Time.deltaTime;
            TimerC += Time.deltaTime;
            
        }
        if(Timer >= 2)
        {
            
            Light.SetActive(true);
            Instantiate(Sparkl,transform.position,transform.rotation);
            Timer = 0;
        }
        if (TimerC >= 3)
        {
            //Round1[Random.Range(0, 9)].SetActive(true);
            StartCoroutine(ActiveCard());
            TimerC = -6000;
 
        }
}
    IEnumerator ActiveCard()
    {
 
        yield return new WaitForSecondsRealtime(0.1f);
        if(Zapusk.Round == 1) { 
        Round1[Random.Range(0, 9)].SetActive(true);
        }
        if (Zapusk.Round == 2)
        {
            Round2[Random.Range(0, 9)].SetActive(true);
        }
        if (Zapusk.Round == 3)
        {
            Round3[Random.Range(0, 9)].SetActive(true);
        }
        if (Zapusk.Round == 4)
        {
            Round4[Random.Range(0, 9)].SetActive(true);
        }
        if (Zapusk.Round == 5)
        {
            Round5[Random.Range(0, 9)].SetActive(true);
        }
        yield break;
 
    }
 
    void OnTriggerEnter(Collider Act)
    {
        if (Act.CompareTag("Gofi"))
        {
            Go = true;
           
 
 
        }
 
 
    }
    void OnTriggerExit(Collider Act)
 
    {
        if (Act.CompareTag("Gofi"))
        {
            Go = false;
            Timer = 0;
            Light.SetActive(false);
            Destroy(Sparkl);
            TimerC = 0;
          
        }
 
 
    }
}
Добавлено через 2 минуты
код конечно корявый, но в редакторе он работает, а при скомпилированной игре нет

Добавлено через 2 минуты
При чем я только что обратил внимание что не работают скрипты которые связаны с основным RandomRotate скриптом, может дело в том как я обращаюсь из одного скрипта в другой? Я уже не знаю что и придумать
0
Prog_maker
392 / 350 / 140
Регистрация: 23.01.2011
Сообщений: 980
08.07.2017, 12:02 #6
Лучший ответ Сообщение было отмечено TwinkleGames как решение

Решение

Ну скиньте проект. Косяки есть немного подпрявлю и посмотрю почему не работает.
1
TwinkleGames
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 10
08.07.2017, 12:05  [ТС] #7
Подскажите, как мне правильно вам скинуть проект?
0
8Observer8
2037 / 1330 / 217
Регистрация: 05.10.2013
Сообщений: 4,224
Записей в блоге: 56
08.07.2017, 12:32 #8
Цитата Сообщение от TwinkleGames Посмотреть сообщение
Подскажите, как мне правильно вам скинуть проект?
Нужно закрыть Unity. Удалить папку Library (не нужна, много весит). Создать архив. Нажать кнопку "Управление вложениями". Выбрать архив.
1
TwinkleGames
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 10
08.07.2017, 14:17  [ТС] #9
https://drive.google.com/open?id=0B3eYZWXSxtdTY1poaGR2cjh4QlE

Добавлено через 1 минуту
скинул архив, скажете если чего то не хватает
0
Prog_maker
392 / 350 / 140
Регистрация: 23.01.2011
Сообщений: 980
08.07.2017, 21:52 #10
Лучший ответ Сообщение было отмечено TwinkleGames как решение

Решение

https://drive.google.com/open?id=0B74mmeWOV0LELTMxMFNxMndvVVU - подправленный проект
https://drive.google.com/open?id=0B74mmeWOV0LEenRaeTB0R09VNG8 - билд

Добавлено через 7 минут
У Вас там серьезная ошибка была в ActiveBall.

вот смотрите

это ссылка на пребаф, который лежит в ассетах
C#
1
public GameObject Sparkl;
Таким образом установится клон префаба
C#
1
 Instantiate(Sparkl,transform.position,transform.rotation)

А удалить вы пытаетесь именно префаб!!!
C#
1
Destroy(Sparkl);

поэтому правильнее будет сделать

C#
1
private GameObject sparklOnSceen; // А это будет именно клон, который будет на сцене
устанавливаем на сцену
C#
1
sparklOnSceen = Instantiate (Sparkl, transform.position, transform.rotation) as GameObject;
и удаляем уже именно клона на сцене
C#
1
Destroy (sparklOnSceen);
Добавлено через 5 минут
В скрипте Sparkle вы запускаете Destroy каждый кадр
C#
1
2
3
4
    void Update ()
    {
        Destroy (gameObject, 1.8f);
    }
надо перенести в старт
C#
1
2
3
4
    void Start ()
    {
        Destroy (gameObject, 1.8f);
    }
Добавлено через 4 минуты
В RandomRate:
C#
1
2
3
4
 void Update () {
        System.Random rand = new System.Random();
        ......
        }
не нужно каждый кадр создавать новый Random. Для большей рандомности значений Random должен быть статическим. И в Unity он уже есть.

Да и Application.LoadLevel(Scene) - Устарел, вместо него SceneManager.

Во исправленный метод Update
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void Update ()
    {
        gameObject.transform.Rotate(0, 0, Speed * Time.deltaTime);
 
        Speed--;
        if (Input.GetKeyUp(KeyCode.F))
        {
            Go = true;
            //GameObject.FindGameObjectsWithTag("Card1"); 
            Speed = Random.Range(300f, 700f);
 
            Round++;
        }
 
        if (Speed <= 0)
        {
            Speed = 0;
        }
 
        if(Round == 7)
        {
            // Application.LoadLevel(Scene); ------- // Это устаревший метод
            SceneManager.LoadScene(Scene);
        }
    }
1
TwinkleGames
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 10
09.07.2017, 10:40  [ТС] #11
Спасибо огромное, сейчас буду разбираться что бы в будущем уже делать более корректно. Я только месяц как первый раз узнал о юнити и сишарпе, так что пока только учусь. Огромное за помощь, это нереально крутой ресурс. Я очень рад что попал сюда!!!!
0
09.07.2017, 10:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2017, 10:40
Привет! Вот еще темы с решениями:

Скомпилированная программа работает иначе
Здравствуйте, вот тут надо одну программу написать, а у нее ошибка: запускаю из...

Скомпилированная программа в Visual Studio 2015 не работает на Windows 10
Скомпилировал программу в Visual Studio 2015, запустил программу на другом...

Программа, скомпилированная в Visual Studio 2015, не работает в Windows XP
Стоит 2015 студия на семерке, проект WPF Net 4.5 Скидываю полученный exe на XP...

Скомпилированная в Visual Studio 2012 программа не работает на Windows XP
В последнее время вынужден был перейти с VS 2010 на VS 2012 и Intel Fortran...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru