如何使用 Google Play 游戏服务在 RealTimeMultiplayer 中获取参与者的个人资料图像

Posted

技术标签:

【中文标题】如何使用 Google Play 游戏服务在 RealTimeMultiplayer 中获取参与者的个人资料图像【英文标题】:How to get the Profile image of Participant in RealTimeMultiplayer using Google Play Game Services 【发布时间】:2014-05-05 23:18:33 【问题描述】:

我正在使用基于 RealTimeMultiplayer 概念的 google play 游戏服务构建游戏,我的问题是如何访问所有参与者的个人资料图像以显示。我是 google play 游戏服务的新手,没有找到解决方案或任何关于 API 的指导。请指导我,我们可以访问以及如何访问?

【问题讨论】:

【参考方案1】:

使用 ImageManager 类加载 ImagerUri 是我的解决方法。

下面,我遍历 currentRoom 中的每个 Participant,并请求 ImageManager 实例加载它们的 IconImageUri。

这可以直接用于膨胀视图,但由于我使用的是 LibGDX,所以我将其保存为 png 以供其处理。

(你可以看到我告诉 GameInterface 如果他们没有图片,则它为 null,或者因为没有图片,或者他们是“未知”参与者,因此 GPGS 返回 null)

        for (Participant p : mRoomCurrent.getParticipants()) 

            //makeToast("should be loading pic");
            ImageManager IM = ImageManager.create(this);
            IM.loadImage(new ImageManager.OnImageLoadedListener()              

                @Override
                public void onImageLoaded(Uri arg0, Drawable drawable, boolean arg2) 
                    if(drawable == null) 
                        theGameInterface.picLoaded(participantID, null);
                     else 
                        Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
                        try 
                           FileOutputStream out = openFileOutput("pic" + participantID + ".png", Context.MODE_MULTI_PROCESS);
                           bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
                           out.flush();
                           out.close();
                         catch (Exception e) 
                            e.printStackTrace();
                            //dLog(e.getStackTrace().toString());
                        
                    

            
            , p.getIconImageUri());

这些是从开发者网站推导出来的

ImageManager 和 Participant

【讨论】:

以上是关于如何使用 Google Play 游戏服务在 RealTimeMultiplayer 中获取参与者的个人资料图像的主要内容,如果未能解决你的问题,请参考以下文章

如何测试使用 google play 游戏服务的未发布的 android 游戏?

如何静默下载 Google Play 游戏服务保存的游戏快照数据?

如何在使用 Google Play 游戏服务的实时多人游戏中使用机器人玩家?

实施 Google Play 游戏服务 - 如何让用户登录

如何使用 Google Play 游戏服务在 RealTimeMultiplayer 中获取参与者的个人资料图像

如何使用 Facebook 好友制作 Android 多人游戏? (Google Play 游戏服务仅使用 G+)