cocos2dx CrystalCraze 宝石消除游戏 解析(二)

本文是cocos2dx游戏CrystalCraze宝石消除系列的第二部分,主要关注GameScene的详细解析。文章深入探讨了GameScene.js的1000行代码,涵盖了游戏界面的控制逻辑。从onDidLoadFromCCB方法开始,作者逐步展开讲解游戏界面的实现过程。
摘要由CSDN通过智能技术生成

上一篇:cocos2dx CrystalCraze 宝石消除游戏 解析(一)

上一篇介绍了 mainScene界面,下面进入正题,GameScne界面!会比较长,毕竟1000行代码啊,耐心看下吧

2 GameScene.js

     这才是游戏界面的主要控制代码,一看1000行代码,啥也不说了,慢慢看吧... 

    界面还是从onDidLoadFromCCB 开始

//开始游戏
GameScene.prototype.onDidLoadFromCCB = function()
{
	// 初始化面板 各种数组
	setupBoard();
	
	//游戏是否结束 是否显示提示
	gIsGameOver = false;
	gIsDisplayingHint = false;

	//浏览器设置可以 鼠标控制
	if( sys.platform == 'browser')
		this.rootNode.setMouseEnabled( true );

	// 触摸事件 跟鼠标事件
    this.rootNode.onTouchesBegan = function( touches, event) {
        this.controller.onTouchesBegan(touches, event);
        return true;
    };
    this.rootNode.onMouseDown = function( event) {
        this.controller.onMouseDown(event);
        return true;
    };

    // Setup timer 进度条
    this.sprtTimer.setVisible(false);
    gTimer = cc.ProgressTimer.create(cc.Sprite.create("gamescene/timer.png"));
    gTimer.setPosition(this.sprtTimer.getPosition());
    gTimer.setPercentage(100);
    gTimer.setType(cc.PROGRESS_TIMER_TYPE_BAR);
    gTimer.setMidpoint(cc.p(0, 0.5));
    gTimer.setBarChangeRate(cc.p(1, 0));
    this.sprtHeader.addChild(gTimer);

	//这是最后的点击时间,连击的个数,是否是炸弹,是否快没有时间
    var dNow = Date.now();
    gStartTime = dNow + kIntroTime;
    gLastMoveTime = dNow;
    gNumConsecutiveGems = 0;
    gIsPowerPlay = false;
    gEndTimerStarted = false;

    gScore = 0;

    // 没帧刷新onUpdate方法
    this.rootNode.onUpdate = function(dt) {
        this.controller.onUpdate();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值