Cocos2d-x简易黄金矿工

新版黄金矿工

作业要求

新版黄金矿工游戏,共有两个界面:主界面与游戏界面

  • 主界面:在demo代码基础上完善场景,添加开始按钮(MenuItem),点
    击进入游戏界面。
  • 游戏界面:两个Layer,StoneLayer锚点位于左下角,坐标设为(0,0),其上 有一石头精灵,初始坐标为(560,480);MouseLayer锚点位于左下角, 坐标设为(0,屏幕高度的一半),其上有一老鼠精灵,初始坐标为(屏幕宽度的 一半,0)。有一个Label,作为shoot按钮。
  • 游戏要求:游戏开始后,点击屏幕任意位置,在该位置添加一块奶酪,老鼠 跑到该位置吃掉奶酪;点击shoot按钮,石头发射到老鼠所在的位置,老鼠 跑开,留下钻石。
  • 加分项:尝试添加一两个动画
  • 作业提交:提交实验报告(文档),Classes(文件夹),Resources(文件 夹)。实验报告要求有截图。

实现效果

实现效果

具体实现

GameScene.cpp

#include "GameScene.h"

USING_NS_CC;

Scene* GameSence::createScene()
{
    //这个地方写Sence::create()不会报错,但是没法显示整个页面。
    return GameSence::create();
}

// on "init" you need to initialize your instance
bool GameSence::init()
{

    // 1. super init first
    if (!Scene::init())
    {
        return false;
    }

    //add touch listener
    EventListenerTouchOneByOne* listener = EventListenerTouchOneByOne::create();
    listener->setSwallowTouches(true);
    listener->onTouchBegan = CC_CALLBACK_2(GameSence::onTouchBegan, this);
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);


    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    //设置背景图片
    auto levelBackGround = Sprite::create("level-background-0.jpg");
    levelBackGround->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
    this->addChild(levelBackGround, 0);
    //设置石头层
    auto stoneLayer = Layer::create();
    stoneLayer->setPosition(0, 0);
    stoneLayer->setName("stoneLayer");
    this->addChild(stoneLayer, 1);
    //向石头层添加石头
    auto stone = Sprite::create("stone.png");
    stone->setPosition(600, 480);
    stone->setName("stone");
    stoneLayer->addChild(stone, 1);
    //设置老鼠层
    auto mouseLayer = Layer::create();
    mouseLayer->setPosition(0, visibleSize.</
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值