Криво работает построенный EXE файл

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Криво работает построенный EXE файл

Сообщение Dr_Spritz 15 апр 2013, 22:53

И снова здравствуйте!

Чего-то какая-то у меня непруха пошла, только стоит решить одну проблему, как сразу появляется другая, еще более чудная (лично для меня O:-) )

Вообщем проблема такова. Есть клиент, который может подключаться к фотон серверу, отправлять операции, получать операции и события. Если клиент запускать через редактор юньки, то все работает замечательно, в логах на клиенте видно что он отправляет и что принимает, в логах на сервере все аналогично. Совсем иная же ситуация происходит если построить "Экзешник" и с него запуститься. В этом случае клиент отказывается обрабатывать пакеты от сервера, он их просто игнорирует. В логах на сервере видно, что клиент подключается, отправляет пакет и четко видно что сервер ему отвечает, а клиенту хоть бы хны =)

В чем может быть проблема?) подскажите хоть какие-нить идеи) :ympray:
Dr_Spritz
UNец
 
Сообщения: 32
Зарегистрирован: 01 апр 2013, 07:24

Re: Криво работает построенный EXE файл

Сообщение Dr_Spritz 16 апр 2013, 08:51

Вообщем ситуация чутка прояснилась.

Создал голый проект юньки, создал префаб плеера и на камеру кинул вот такой вот скриптик:

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {

        public Object PlayerPrefab;
        private Object clone;
        public bool test2;

        public void Player()
        {      
                PlayerPrefab = (GameObject)Resources.LoadAssetAtPath("Assets/Player.prefab", typeof(GameObject));
                clone = Instantiate(PlayerPrefab, Vector3.zero, Quaternion.identity);
                clone.name = "ololo";
        }
       
        void Update()
        {
                if (Input.GetKey(KeyCode.A))
            {
                        Player();
                        test2 = true;
            }
        }
        public void OnGUI()
        {
                                if(test2)
                        GUI.Label(new Rect(5, 5, 100, 20), "ololo");
        }
}


Ситуация такая же. Запускаю проект в редакторе нажимаю на кнопочку "А", респяться кубики и появляется надпись "ololo". Создаю с этого проекта экзешник, запускаю его, нажимаю на кнопочку "A" и нихера не происходит :((

Так что работу сервера можно откинуть, что-то не так в самой юньтке

Блин ребят, это я дурак или просто лыжи не едут?
Dr_Spritz
UNец
 
Сообщения: 32
Зарегистрирован: 01 апр 2013, 07:24

Re: Криво работает построенный EXE файл

Сообщение KVinS 16 апр 2013, 09:05

А это не проблема с политикой безопасности? Локально тестируете?
Я просто уже не помню, что происходит, когда проблема с политикой.
KVinS
UNIт
 
Сообщения: 76
Зарегистрирован: 14 фев 2013, 22:27

Re: Криво работает построенный EXE файл

Сообщение Dr_Spritz 16 апр 2013, 09:17

KVinS писал(а):А это не проблема с политикой безопасности? Локально тестируете?
Я просто уже не помню, что происходит, когда проблема с политикой.


Да локально, а каким образом политика безопасности может повлиять на работу "EXE" файла?
Dr_Spritz
UNец
 
Сообщения: 32
Зарегистрирован: 01 апр 2013, 07:24

Re: Криво работает построенный EXE файл

Сообщение Dr_Spritz 16 апр 2013, 10:20

Вообщем если я все правильно понимаю проблема таится вот тут:

Синтаксис:
Используется csharp
PlayerPrefab = (GameObject)Resources.LoadAssetAtPath("Assets/Player.prefab", typeof(GameObject));


Дело в том, что структура папок проекта и уже построенного приложения отличается, поэтому при создании игрового объекта екзешник ссылается на папку ассет, которой нету в скомпелированном проекте.

Отсюда возникает вопрос, как заставить юнити строить приложение в соответствии с структурой папок самого проекта?

Поправьте пожалуйста если я неправ.
Dr_Spritz
UNец
 
Сообщения: 32
Зарегистрирован: 01 апр 2013, 07:24

Re: Криво работает построенный EXE файл

Сообщение IDoNotExist 16 апр 2013, 10:29

Dr_Spritz писал(а):Отсюда возникает вопрос, как заставить юнити строить приложение в соответствии с структурой папок самого проекта?


Читать документацию, делать все в соответствии, и не использовать LoadAssetAtPath, в сборке.

static function LoadAssetAtPath (assetPath : String, type : Type) : Object

Description
Returns a resource at an asset path (Editor Only).

This function always return null in the standalone player or web player. This is useful for quickly accessing an asset for use in the editor only.


http://docs.unity3d.com/Documentation/ScriptReference/Resources.html

All assets that are in a folder named "Resources" anywhere in the Assets folder can be accessed via the Resources.Load functions. Multiple "Resources" folders may exist and when loading objects each will be examined.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Криво работает построенный EXE файл

Сообщение Dr_Spritz 16 апр 2013, 12:34

Справка Unity ^:)^

Как бы себя научить сначала лезть в справку, а уж потом на форум [curved_hands]
Dr_Spritz
UNец
 
Сообщения: 32
Зарегистрирован: 01 апр 2013, 07:24


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 19