【我的手游处女作--明星牌】含代码

使用框架为Cocos2d-X,语言C++,编辑器Cocostudio Studio,适配(1334,750)
下载地址

一.百度网盘(新版本)
账号:13143525203
密码:610767ss

二.链接地址(老版本)

http://android.myapp.com/myapp/detail.htm?apkName=susake.game.yzp

http://a.app.qq.com/o/simple.jsp?pkgname=susake.game.yzp

主要逻辑

#include "MiniGame.h"
#include "SimpleAudioEngine.h"
#include <unistd.h>
#include "WapsAd.h" //在调用的文件中包含 WapsAd.h *

Scene* MINI::createScene() {
    // ‘scene‘ is an autorelease object
    auto scene = Scene::create();

    // ‘layer‘ is an autorelease object
    auto layer = MINI::create();

    // add layer as a child to scene
    scene->addChild(layer);

    // return the scene
    return scene;
}

bool MINI::init() {

    //获取设备分辨率
    visibleSize = Director::getInstance()->getVisibleSize();
    //系统返回键回调
    auto listener1 = EventListenerKeyboard::create();
    listener1->onKeyReleased = CC_CALLBACK_2(MINI::onKeyReleased,this);
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener1,this);
    //多点触碰回调
    auto listener2 = EventListenerTouchAllAtOnce::create();
    listener2->onTouchesBegan = CC_CALLBACK_2(MINI::onTouchesBegan, this);
    listener2->onTouchesMoved = CC_CALLBACK_2(MINI::onTouchesMoved, this);
    listener2->onTouchesEnded = CC_CALLBACK_2(MINI::onTouchesEnded, this);
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener2, this);
    //背景
    gamedir = RIGHT;
    CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("AboveTheTreetops.mp3", true);
    auto bg = Sprite::create("UIMiniGame.img/mapleOneCard.Board.backgrnd.png");
    bg->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
    this->addChild(bg, 1);
    //初始化游戏方向
    sp_dir = Sprite::create("UIMiniGame.img/mapleOneCard.Board.direction.0.png");
    sp_dir->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2 + 260));
    this->addChild(sp_dir, 2, 2);
    //放置牌堆
    cards = Sprite::create("UIMiniGame.img/mapleOneCard.Custom.3.Deck.default.png");
    cards->setPosition(Vec2(visibleSize.width / 2 - 320, visibleSize.height / 2 - 17));
    cards->setScale(1.5f);
    this->addChild(cards, 2);
    //加载玩家1(Susake)
    hero = new MHero();
    hero->InitBoard("UIMiniGame.img/custom.element.icon.3.0.0.png", "Susake", visibleSize.width / 2 - 510, visibleSize.height / 2 - 230);
    hero->ChangeBoardByState(MYTURN, true);
    this->addChild(hero->board, 3);
    //加载玩家2(东方不败)
    mob1 = new MHero();
    mob1->InitBoard("UIMiniGame.img/custom.element.icon.3.0.1.png", "东方不败", visibleSize.width / 2 - 510, visibleSize.height / 2 + 180);
    mob1->ChangeBoardByState(NEXT, false);
    this->addChild(mob1->board, 3);
    //加载玩家3(午夜凶铃)
    mob2 = new MHero();
    mob2->InitBoard("UIMiniGame.img/custom.element.icon.3.0.2.png", "午夜凶铃", visibleSize.width / 2 + 510, visibleSize.height / 2 + 180);
    mob2->ChangeBoardByState(WAIT, false);
    this->addChild(mob2->board, 3);
    //加载玩家4(哈哈哈)
    mob3 = new MHero();
    mob3->InitBoard("UIMiniGame.img/custom.element.icon.3.0.3.png", "哈哈哈", visibleSize.width / 2 + 510, visibleSize.height / 2 - 230);
    mob3->ChangeBoardByState(WAIT, false);
    this->addChild(mob3->board, 3);

    //放置玩家1卡牌,牌数
    mob1card = Sprite::create("UIMiniGame.img/mapleOneCard.Custom.5.Deck.default.png");
    mob1card->setPosition(Vec2(mob1->mob1card_x, mob1->mob1card_y));
    mob1card->setScale(1.2f);
    this->addChild(mob1card, 2);
    //放置玩家2卡牌,牌数
    mob2card = Sprite::create("UIMiniGame.img/mapleOneCard.Custom.5.Deck.default.png");
    mob2card->setPosition(Vec2(mob2->mob2card_x, mob2->mob2card_y));
    mob2card->setScale(1.2f);
    this->addChild(mob2card, 2);
    //放置玩家3卡牌,牌数
    mob3card = Sprite::create("UIMiniGame.img/mapleOneCard.Custom.5.Deck.default.png");
    mob3card->setPosition(Vec2(mob3->mob3card_x, mob3->mob3card_y));
    mob3card->setScale(1.2f);
    this->addChild(mob3card, 2);
    //洗牌
    ClearCard(52);
    //显示牌数
    _cardnumber = Label::createWithTTF("52", "fonts/Marker Felt.ttf", 15);
    _cardnumber->setPosition(Vec2(visibleSize.width / 2 - 320, visibleSize.height / 2 + 80));//400 300
     this->addChild(_cardnumber, 2);

     mob1cardnumber = Label::createWithTTF("6", "fonts/Marker Felt.ttf", 45);
     mob1cardnumber->setPosition(Vec2(visibleSize.width / 2 - 380, visibleSize.height / 2 + 240));//400 300
     this->addChild(mob1cardnumber, 3);

     mob2cardnumber = Label::createWithTTF("6", "fonts/Marker Felt.ttf", 45);
     mob2cardnumber->setPosition(Vec2(visibleSize.width / 2 + 380, visibleSize.height / 2 + 240));//400 300
     this->addChild(mob2cardnumber, 3);

     mob3cardnumber = Label::createWithTTF("6", "fonts/Marker Felt.ttf", 45);
     mob3cardnumber->setPosition(Vec2(visibleSize.width / 2 + 380, visibleSize.height / 2 - 180));//400 300
     this->addChild(mob3cardnumber, 3);

    //开始游戏倒计时
    this->scheduleOnce(schedule_selector(MINI::gotime), 3.5f);

    //逐帧更新
    this->scheduleUpdate();

    return true;
}
时间: 2024-10-01 18:45:40

【我的手游处女作--明星牌】含代码的相关文章

Unity手游之路&lt;十三&gt;手游代码更新策略探讨

这几个月公司项目非常忙,加上家里事情也多,所以blog更新一直搁置了.最近在项目开发上线过程中遇到了一些新问题,接下来的时间和大家多多探讨学习.大家在工作中遇到技术问题,或者有什么想分享的,欢迎多多探讨 [email protected] ----------------------------------------------------------------------------------------------------------------------------------

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布

Unity手游之路手游代码更新策略探讨

版权声明: https://blog.csdn.net/janeky/article/details/25923151 这几个月公司项目非常忙.加上家里事情也多,所以blog更新一直搁置了. 近期在项目开发上线过程中遇到了一些新问题,接下来的时间和大家多多探讨学习. 大家在工作中遇到技术问题,或者有什么想分享的,欢迎多多探讨 ken@iamcoding.com. -------------------------------------------------------------------

2020手游折扣平台排行榜哪个好上榜app点评哪个最靠谱推荐

手机游戏行业分析如今已经成为了一个专门的工作岗位,因为确实每天都需要有人在做这件事情.不仅仅是游戏公司,这个行业还要好很多人需要这样的分析数据.因为只有弄清楚了用户的真实需求以后,可以针对性地制作出他们真正喜欢的游戏,才有可能在市场上面引发爆点. 所以手机游戏行业分析才显得这么重要,而且还会持续的存在下去.因为现在的行业越来越复杂,融入了很多其他行业的一些元素,也分析起来会更加困难一些.不过这些都没有关系,只要能够有专门的力量来做市场分析这一块,依然可以得到十分明确的行业走向,给整个行业指明方向

Cocos2d-x 3.X手游开发实例详解

Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐) 于浩洋 著   ISBN 978-7-121-23998-4 2014年9月出版 定价:59.00元 356页 16开 编辑推荐 以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法 以热门游戏2048.卡牌为例,完整再现手游的开发过程 Cocos2d-x作者之一林

建一座安全的“天空城” ——揭秘腾讯WeTest如何与祖龙共同挖掘手游安全漏洞

作者:腾讯WeTest手游安全测试团队商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 <九州天空城3D>上线至今,长期稳定在APP Store畅销排行的前五,本文将介绍腾讯WeTest手游安全团队在游戏上线前为<九州天空城3D>挖掘安全漏洞的全过程. <九州天空城3D>(下文简称<九州>)是祖龙娱乐的一款正版授权次世代3D飞行手游,在8月,正式向全平台开放.作为一个前身是端游研发工作室的研发商,祖龙娱乐在<九州>

手游帧同步的研究

网络游戏的同步可以做的很简单,也可以做的很复杂.简单来说就是通过Http或者Socket来跟服务器同步数据.而如果往复杂了说,可以有p2p.帧同步.航位预测等等高级课题可以研究. 因为我们的项目需求----几百个独立单位的实时同步(带pvp的rts),所以研究了下帧同步.不过后来发现它其实有很多问题,所以具体如何还要看其他同事的研究成果.以我个人来说,修改游戏方案反而是最合理的解决方案. 首先从需求上来说,几百个独立单位的作战,本身结果和士兵强弱从策划的角度来看就是不可控制的.玩家更加不可控制.

解密:腾讯如何打造一款实时对战手游

2015年以来,手机游戏的市场偏好,逐渐从早期的休闲类.跑酷类.卡牌类游戏,转向重度.操作性更强的ARPG .FPS..MOBA类游戏.因此实时对战这一游戏玩法,也逐渐成为了手机游戏的一个核心玩法.纵观AppStore畅销榜前十的游戏,过半都支持玩家实时的PK或者合作攻关.由于实时对战有玩家之间自发进行强互动的特点,活跃度和社交强度都是比较高,为游戏的用户活跃和流水的提高奠定了坚实的基础. 腾讯的游戏开发团队,很早就观察到实时对战这一核心玩法对游戏生命周期影响的重要性,因此在自研产品方面,加大力

腾讯手游如何提早揭露游戏外挂风险?

目前腾讯SR手游安全测试限期开放免费专家预约!点击链接:http://wetest.qq.com/product/sr立即预约! 作者:sheldon,腾讯高级安全工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 随着大量外挂.辅助.工作室等非法盈利团队借由移动游戏产业迅猛发展的东风趁虚而入,对游戏开发商和玩家来说都造成了不小的伤害,安全问题成为手游发展不容忽视的前提.本文告诉你如何从技术的角度来提前曝光这些安全问题和外挂风险. 安全无小事-安全测试开展思