• 第五章(6)Libgdx应用框架之接口


    Android游戏开发群:290051794
    Libgdx游戏开发框架交流群:261954621 

     

    有时访问特定平台的API很有必要举例(http://swarmconnect.com/)。

    下面这些例子纯属虚构,假设我们想使用一个只在Android上有的简单的leaderboard API,对其他平台只是简单日志或者模拟返回值。

    Android API看起来像这样:

     

     

     

     

     

    /** Let's assume this is the API provided by Swarm **/
    
    public class LeaderboardServiceApi {
    
       public void submitScore(String user, int score) { ... }
    
    }
    


     

     

     

     

     

    第一步是创建一个抽象的API接口。

    将接口放到Main项目中:

     

     

     

     

     

    public interface Leaderboard {
    
       public void submitScore(String user, int score);
    
    }
    


     

     

     

     

     

    接下来为Android实现这些项目:

     

     

     

     

     

    /** Android implementation, can access LeaderboardServiceApi directly **/
    
    public class AndroidLeaderboard implements Leaderboard {
    
       private final LeaderboardServiceApi service;
    
     
    
       public AndroidLeaderboard() {
    
          // Assuming we can instantiate it like this
    
          service = new LeaderboardServiceApi();
    
       }
    
     
    
       public void submitScore(String user, int score) {
    
          service.submitScore(user, score);
    
       }
    
    }
    


     

     

     

     

     

    接下来,ApplicationListener获取一个构造函数实现leaderboard

     

     

     

     

     

    public class MyGame implements ApplicationListener {
    
       private final Leaderboard leaderboard;
    
     
    
       public MyGame(Leaderboard leaderboard) {
    
          this.leaderboard = leaderboard;
    
       }
    
     
    
       // rest omitted for clarity
    
    }
    


     

     

     

     

     

    在启动类里创建MyGame示例,通过相应的leaderboard作为参数。

     

     作者:宋志辉 
    出处:http://blog.csdn.net/song19891121
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
    支持: 新浪微博 腾讯微博

     

     

     

     

  • 相关阅读:
    写在前面
    "路径的形式不合法"解决方案
    ExtJs学习笔记
    javascript实现ListBox左右全选、单选、多选、全请
    面向对象和面向过程的区别
    Div+CSS布局 网站设计的优点!
    libeio异步I/O库初窥
    等待进程结束
    判断Javascript变量是否为空
    后台创建进程和杀掉进程
  • 原文地址:https://www.cnblogs.com/hainange/p/6153561.html
Copyright © 2020-2023  润新知