2017-08-17 7 views
0

AndroidでAwake()関数を実行しようとしていますが、何か問題が起こっています。void AndroidでAwake()が実行されない、Unity 3D

これはアプリネットワーキングされ、すべてが完璧にwroksが、アプリはAndroidデバイス上で起動したときに、私がやりたいことは、それが無い画面に触れるとクライアントとして自動的にサーバーに接続されています

public class Automatic_Client : NetworkBehaviour { 

    public NetworkManager manager; 

    public void Awake() 
    { 
     if(Application.platform == RuntimePlatform.Android) 
      manager.StartClient(); 

私は条件を変更した場合WindowsEditorのためにそれはうまく動作するPC上でそれを試してください、しかしそれはAndroidではありません。 Androidでデバッグすると、画面に触れることでHUDから "LAN Client"を選択した後にvoid Awake()が実行されるようです... void Start()でも動作しません。ヘルプPls!

Unity 5.4, Android 6.0.1

+0

あなたのmanager.Startclientが新しいスレッドまたはコルーチンである場合、awakeをコルーチンとして使用することはできません。これはエラーの原因になります。 – joreldraw

+0

@ joreldrawなぜあなたはコルーチンとスレッドについて話していますか?私はOPが彼らが使用されていたと言わなかったので、それが関連しているとは思わない。 – Programmer

+0

起動時に動作とその親GameObjectが有効になっていますか? Awake()は、一度有効になると実行されます。 –

答えて

0

ただ、推測、それはあなたがpublicとしてAwake()設定していることができました。私はプライベートとして宣言したままにしておきます。

そうでなければ、Awake()の代わりにStart()を使用するか、起動スクリプトから呼び出すpublic Initialize()関数を使用できます。

関連する問題