上一篇《是男人就下100层【第五层】——换肤版2048游戏》中阳光小强对2048游戏用自己的方式进行了实现,并分享了核心源码,这一篇阳光小强打算将该项目的全部源码公开并结合这个实例在这篇文章中介绍一下怎样加入广告和实现分享功能。

终于执行效果例如以下(很多其它执行效果请看《是男人就下100层【第五层】——换肤版2048游戏》):


一、怎样实现换肤

换肤的思路事实上非常easy。在ActionBar中加入菜单。当用户选择某一个皮肤后就将当前的皮肤状态改动并保存到SharedPreference中,以便后面启动后直接读取皮肤,创建该皮肤的Bitmap对象并在onDraw中绘制。
 private void changeSkin(int skin) {Editor edit = sharedPreference.edit();edit.putInt("skin", skin);edit.commit();my2048View.changeSkin(skin);}
   public void changeSkin(int skin){this.skin = skin;switch (skin) {case 0:for(int i=0; i<bitmaps.length; i++){bitmaps[i] = null;}for(int i=0; i<bitmaps_skin3.length; i++){bitmaps_skin3[i] = null;}break;case 1:for(int i=0; i<bitmaps_skin3.length; i++){bitmaps_skin3[i] = null;}initBitmap();break;case 2:for(int i=0; i<bitmaps.length; i++){bitmaps[i] = null;}initBitmap();break;}invalidate();}

二、怎样加入广告

在加入广告之前有些朋友可能就会问了,什么广告平台比較好?这个问题的答案事实上我也不知道,在这之前阳光小强从来没有在app中加入过广告。这次仅仅是尝试,就先用了有米的广告,最后又换成了聚米的广告(个人认为聚米的广告收益稍高)。

事实上各种平台的广告集成方式基本相似。以下就看看聚米的广告怎样集成吧:
我第一次选择的官方统一PUSH包。集成后发现360非常容易检測出来,后来又换成了自己定义PUSH的方式(官方文档非常具体:http://www.adjumi.com/AppDevPlat/Page/SDKSm.aspx),我这里就不一步步的解释了。
最后记得开启广告:
接下来做的事情就非常easy了,隔一段时间看看自己的收益吧

三、怎样加入分享功能

分享功能实现的方式大概有两种。一种是通过启动系统的分析组件(界面不好改动。不易控制)。还有一种是用第三方的分析组件(容易自己定义。界面美观,推荐)。
第一种方法实现例如以下:
            @Overridepublic void onClick(View arg0) {/*my2048View.saveMaxScore();Intent intent=new Intent(Intent.ACTION_SEND);    intent.setType("image/*");    intent.putExtra(Intent.EXTRA_SUBJECT, "LOL版2048"); // intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("android:resource://com.example.my2048/"+R.raw.share_img)));intent.putExtra(Intent.EXTRA_TEXT, "我的最高纪录是"+ sharedPreference.getInt("maxScore", 0) +"分,赶快来玩吧,LOL版2048好玩!有木有~~。进去看看:http://blog.csdn.net/dawanganban/article/details/37863693");            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    startActivity(Intent.createChooser(intent, getTitle()));    */// 是否仅仅有已登录用户才干打开分享选择页my2048View.saveMaxScore();mController.openShare(MainActivity.this, false);}

另外一种方式的实现有多种平台可选(这里选择友盟)

首先注冊为友盟的开发人员,并获取到友盟的appkey
友盟分享的帮助文档(http://dev.umeng.com/social/android/share/quick-integration),在实现分享之前须要做一些准备工作,去各个分享平台申请appkey
有个分享的具体请參考友盟的API(这里吐槽一下。API文档写的太烂了~~)
友盟的集成方式有三种,我选择的是官方推荐的另外一种方式。所以须要引入一个外部的project(用于分享的project),而且将这个project放到了与该project同级的文件夹。
友盟社会化分享组件project(项目中用的Git下载地址:git@code.csdn.net:lxq_xsyu/social_sdk_library_project.git)
这里混淆的时候须要注意一点路径问题:
-libraryjars ../social_sdk_library_project/libs/SocialSDK_QQZone_2.jar

四、完整源码下载

上面仅仅是抛砖引玉。有关具体和更好的方法请參考该项目,我将项目的全部源码下载地址贴出(注:请使用Git工具下载,并下载上面的分享组件project使用如图方式加入)

Git下载地址:git@code.csdn.net:lxq_xsyu/my2048.git
代码下载地址:https://code.csdn.net/lxq_xsyu/my2048/tree/master
最后假设你认为对你有帮助,别忘了给阳光小强投上一票,投票地址:http://vote.blog.csdn.net/article/details?articleid=37863693

假设有问题请在以下留言~~假设阳光小强看到会及时回复的

转载于:https://www.cnblogs.com/zfyouxi/p/5176785.html

是男人就下100层【第五层】——2048游戏从源代码到公布市场相关推荐

  1. 是男人就下100层【第五层】——2048游戏从源码到发布市场

    上一篇<是男人就下100层[第五层]--换肤版2048游戏>中阳光小强对2048游戏用自己的方式进行了实现,并分享了核心源码,这一篇阳光小强打算将该项目的所有源代码公开并结合这个实例在这篇 ...

  2. 是男人就下100层【第五层】——换肤版2048游戏

    ---------------------------------------------------------------------------------------------------- ...

  3. 是男人就下100层【第四层】——Crazy贪吃蛇(2)

    在上一篇<是男人就下100层[第四层]--Crazy贪吃蛇(1)>中我们让贪吃蛇移动了起来,接下来我们来实现让贪吃蛇能够绕着手机屏幕边线移动而且能够改变方向 一.加入状态并改动代码 首先我 ...

  4. 是男人就下100层【第一层】——高仿微信界面(4)

    上一篇<是男人就下100层[第一层]--高仿微信界面(3)>中我们完成了登录,这一篇看完成登录后的一个短暂加载和引导界面. 加载界面: <RelativeLayout xmlns:a ...

  5. 《是男人就下100层》真的有隐藏剧情!B站up主数月破解,原作者点赞致谢

    边策 杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI <是男人就下100层>,曾经风靡一代的flash小游戏.炙手可热的休闲游戏之最. 它让多少人没日没夜地想去尝试" ...

  6. Unity经典游戏教程之:是男人就下100层

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...

  7. cocos2d-x 是男人就下100层 附源码

    1.效果图: 玩法: 一个不断下降的小人,点击屏幕的left或者right控制小人的移动方向,尽可能生存久些.为什么要搞这个游戏呢?因为在2012年的8月份,我完成它的android版本,见<自 ...

  8. OpenGL2D小游戏——是男人就下100层

    2019独角兽企业重金招聘Python工程师标准>>> 是男人就下100层想必大家一定都玩过,在这里给大家简单介绍一下游戏规则. 游戏规则: 游戏人物从屏幕上方按一定速率下落,同时台 ...

  9. 是男人就下100层【第一层】——高仿微信界面(8)

    上一篇<是男人就下100层[第一层]--高仿微信界面(7)>中我们实现了下弹式菜单,这一篇我们来看看如何实现微信中的摇一摇功能. 首先我们来布局我们的摇一摇界面 布局文件如下: <? ...

最新文章

  1. javascript优缺点_为什么要在JavaScript中使用静态类型? 优缺点
  2. 最流行的解压缩软件--winrar
  3. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)
  4. 对javascript闭包的理解
  5. 数学知识笔记:拉格朗日乘子
  6. GO标准库—命令行参数解析FLAG
  7. textarea标签内容为(英文或数字不自动换行)的解决方法
  8. jdk 9和jdk8_JDK 9是某些功能的终结
  9. Beta 冲刺 (2/7)
  10. Flask爱家租房--celery(总结)
  11. linux kvm 常用命令
  12. 可以飞的电动汽车,波音与保时捷要合作开发了
  13. day7 地址 名片管理系统
  14. 开源引擎推荐—ElGameEngine 作者:trcj(http://blog.csdn.net/trcj1)
  15. 阵列matlab程序,阵列信号处理的理论和应用 原书matlab 程序.rar
  16. [原创]浅析汇编之堆栈平衡
  17. 切换进程 切换线程
  18. 北大美女辞去公司副总职务创业养狗
  19. dell r630 配置raid_Dell服务器设置Raid5
  20. 怎么把两个PDF合并成一个?这几种操作轻松合并

热门文章

  1. 恭喜你发现了宝藏,编程习惯-日积月累
  2. 数据结构(04)— 线性顺序表实战
  3. 手把手教你搭建 Git 服务器
  4. Docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket解决方案
  5. 【UML建模】UML图详细总结
  6. starrocks问题小结
  7. flask_模拟请求post,get
  8. 通俗理解条件熵-数学
  9. LeetCode简单题之数组中的字符串匹配
  10. SpringBoot整合Shiro安全框架完整实现