2017-10-03 6 views
0

Je veux appeler la méthode walo() de rendre() dans classMyGdxGame:comment puis-je appeler une méthode d'une autre classe dans libgdx

public class MyGdxGame extends ApplicationAdapter{ 
    public void render() { 
     walo(); 
    } 
} 

public class AndroidLauncher extends AndroidApplication { 
    AndroidLauncher android =new AndroidLauncher(); 

    public void walo() { 
     Toast.makeText(getApplicationContext(), "You Don't Have Enough Money", 
      Toast.LENGTH_LONG).show(); 
    } 
} 
+0

Vous pouvez également consulter le wiki sur cette question: https://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-code – Xoppa

Répondre

1

Créer une interface dans le noyau, implémenter cette interface dans AndroidLauncher et l'envoyer au jeu. Vous pouvez donc appeler la méthode ou transmettre des données à rendre.

Interface:

public interface SomeInterface { 
    public void walo(); 
} 

AndroidLauncher:

public class AndroidLauncher implements SomeInterface{ 

     @Override 
     protected void onCreate() {  

     AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); 
     initialize(new MyGdxGame(this), config); 

    } 

     public void walo() { 
      Toast.makeText(getApplicationContext(), "You Don't Have Enough Money", 
      Toast.LENGTH_LONG).show(); 
    } 
    } 

Dans la classe de jeu

public MyGdxgame(SomeInterface myinterface)   { 
      this.myinterface=myinterface; 
     } 
    public render()   { 
      myinterface.walo() 
     } 

est ici par exemple (mon interface de service de jeu de Google) et un lien pour ouvrir les données source de ma libgdx jeu.

public interface PlayServices 
{ 
    public void signIn(); 
    public void signOut(); 
    public void rateGame(); 
    public void unlockAchievement(String str); 
    public void submitScore(int highScore); 
    public void submitLevel(int highLevel); 
    public void showAchievement(); 
    public void showScore(); 
    public void showLevel(); 
    public boolean isSignedIn(); 
    public void showBannerAd(); 
    public void hideBannerAd(); 
    public void showInterstitialAd (Runnable then); 
    public void showRewardedVideo(); 
    public boolean isRewardEarned(); 
} 

Vous pouvez voir des annonces et des récompenses vidéo implémentées comme ceci.

Github Connect Game