(function() {
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
var __module = nodeEnv ? module : {exports:{}};
var __filename = 'preview-scripts/__qc_index__.js';
var __require = nodeEnv ? function (request) {
return cc.require(request);
} : function (request) {
return __quick_compile_project__.require(request, __filename);
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}
require('./assets/Script/HelloWorld');
require('./assets/Script/Main');
require('./assets/Script/UIBtn');
require('./assets/Script/async');
require('./assets/Script/enable_phy');
require('./assets/Script/food');
require('./assets/Script/mapCollider');
require('./assets/Script/sanke_ai');
require('./assets/Script/sanke_btn');
require('./assets/Script/sanke_children');
require('./assets/Script/sanke_play');
require('./assets/Script/wx_login_test');
require('./assets/Script/yg');
}
if (nodeEnv) {
__define(__module.exports, __require, __module);
}
else {
__quick_compile_project__.registerModuleFunc(__filename, function () {
__define(__module.exports, __require, __module);
});
}
})();
//------QC-SOURCE-SPLIT------
(function() {
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
var __module = nodeEnv ? module : {exports:{}};
var __filename = 'preview-scripts/assets/Script/Main.js';
var __require = nodeEnv ? function (request) {
return cc.require(request);
} : function (request) {
return __quick_compile_project__.require(request, __filename);
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, '87eeb7YlMVMhJEo2v7YlRaI', 'Main');
// Script/Main.js
"use strict";
// Learn cc.Class:
// - https://docs.cocos.com/creator/manual/en/scripting/class.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
var timeC = 0.02;
var async = require('./async');
cc.Class({
"extends": cc.Component,
properties: {
//贪吃蛇 玩家 预制件
mPlaySanke: {
"default": null,
type: cc.Prefab
},
//摇杆-方向操作 预制件
mYK: {
"default": null,
type: cc.Prefab
},
//摄像机
mCamera: {
"default": null,
type: cc.Camera
},
//控制update循环-玩家加速减速控制
time_fiex: 0,
//控制电脑 均速
time_fiex2: 0,
//加速按钮
mSpeedBtn: {
"default": null,
type: cc.Prefab
},
//食物预制件
mFood: {
"default": null,
type: cc.Prefab
},
//实物预制件
mGameOverUI: {
"default": null,
type: cc.Node
},
_mScene: null,
//场景
_mTimeFood: 0,
//用来定时随机食物
_mTimeConputer: 0,
//用来定时随机电脑
//电脑-测试
mSnakeAI: {
type: cc.Prefab,
"default": []
},
//电脑-数组
_mSnakeArr: [],
//电脑人数
_mSnankeNum: 10,
//食物对象池
_myFoodPool: {
type: cc.NodePool,
"default": null
},
//电脑贪吃蛇对象池
_mSnakePool: {
type: cc.NodePool,
"default": null
},
//电脑贪吃蛇-身体-对象池
_mSnakeChildrenPool: {
type: cc.NodePool,
"default": null
},
//身体预制件
snake_children: {
"default": null,
type: cc.Prefab
}
},
// LIFE-CYCLE CALLBACKS:
//创建食物
createFood: function createFood(randomNum) {
for (var i = 0; i < randomNum; i++) {
var mFood = cc.instantiate(this.mFood);
this._myFoodPool.put(mFood); // 通过 put 接口放入对象池
}
},
//创建蛇的身体
createChildren: function createChildren(randomNum) {
for (var i = 0; i < randomNum; i++) {
var children = cc.instantiate(this.snake_children);
this._mSnakeChildrenPool.put(children); // 通过 put 接口放入对象池
}
},
//随机食物
randomFood: function randomFood(randomNum) {
var _this = this;
if (this._mScene.children[1].childrenCount >= 500) {
return false;
}
var array = async.myrange(0, this._myFoodPool.size());
async.eachLimit(array, randomNum, function (i, cb) {
var foodRom = null;
if (_this._myFoodPool.size() > 0) {
foodRom = _this._myFoodPool.get(_this._myFoodPool);
foodRom.color = new cc.Color(_this.getRndInteger(0, 255), _this.getRndInteger(0, 255), _this.getRndInteger(0, 255));
foodRom.active = true;
foodRom.x = _this.getRndInteger(-2499, 2500) + 480;
foodRom.y = _this.getRndInteger(-2499, 2500) + 320;
} else {
foodRom = cc.instantiate(_this.mFood);
foodRom.color = new cc.Color(_this.getRndInteger(0, 255), _this.getRndInteger(0, 255), _this.getRndInteger(0, 255));
foodRom.active = true;
foodRom.x = _this.getRndInteger(-2499, 2500) + 480;
foodRom.y = _this.getRndInteger(-2499, 2500) + 320;
}
foodRom.parent = _this._mScene.children[1]; //this.scheduleOnce(() => cb());
}, function () {//cc.log('main_food任务完成');
});
},
randomConputerSnake: function randomConputerSnake() {
var _this2 = this;
var array = async.myrange(0, this._mSnakePool.size());
async.eachLimit(array, 10, function (i, cb) {
var snake_com = null;
if (_this2._mSnakePool.size() > 0) {
snake_com = _this2._mSnakePool.get(_this2._mSnakePool);
} else {
snake_com = cc.instantiate(_this2.mSnakeAI);
} //snake_com.x = 480;
//snake_com.y = 320;
//snake_com.children[snake_com.childrenCount-1].x = this.getRndInteger(-2000,2000);
//snake_com.children[snake_com.childrenCount-1].y = this.getRndInteger(-2000,2000);
snake_com.active = true;
snake_com.parent = _this2._mScene.children[5]; //this.scheduleOnce(() => cb());
}, function () {//cc.log('main_food任务完成');
});
},
//随机min 和max 之间数,从来设置坐标
getRndInteger: function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
},
//封装-没用另写到封装函数内
onLoad: function onLoad() {
//是否暂停
if (cc.director.isPaused()) {
//取消暂停
cc.director.resume();
} // 蛇预制体
var sanke = this.mPlaySanke.data; //摇杆预制体
var yaogan = this.mYK.data; //加速按钮
var speedBtn = this.mSpeedBtn; //场景
this._mScene = cc.director.getScene(); //玩家-操作杆-加速按钮
this.mPlaySanke = cc.instantiate(sanke);
this.mYK = cc.instantiate(yaogan);
this.mSpeedBtn = cc.instantiate(speedBtn); //创建电脑贪吃蛇对象池-注意对象池的名称一定要和预制体名称一致
//this._mSnakePool = new cc.NodePool("snake_ai");
//创建电脑贪吃蛇-身体-对象池
this._mSnakeChildrenPool = new cc.NodePool("snake_children");
this.createChildren(300); //设置电脑个数
this._mSnankeNum = 12; //创建贪吃蛇电脑
for (var i = 0; i < this._mSnankeNum; i++) {
var item = cc.instantiate(this.mSnakeAI[i]); //consol