import { SpeedType } from 'JoystickCommon'
import MainCamera from 'MainCamera'
import Joystick from 'Joystick'
cc.Class({
extends: cc.Component,
properties: {
nodeStartPanel: cc.Node,
nodePlayer: cc.Node,
nodeLibaiyu: cc.Node,
prefabLibaiyu: cc.Prefab,
prefabKeji: cc.Prefab,
nodeEndPanel: cc.Node,
robotMgr: cc.Node,
labelCount: cc.Label,
bgm: cc.AudioClip,
killAudio: cc.AudioClip,
spawnAudio: cc.AudioClip,
shark: cc.Node,
mainCamera: MainCamera,
UILogo: cc.Node,
joystick: cc.Node,
gameTime: {
default: 20,
type: cc.Integer,
tooltip: "游戏持续时间"
},
devourTime: {
default: 8,
type: cc.Integer,
tooltip: "互相吞噬保护时间"
},
foodCount: {
default: 15,
type: cc.Integer,
tooltip: "最大食物的数量"
},
playerChildStartCount: {
default: 7,
type: cc.Integer,
tooltip: "玩家开始孩子数量"
},
circleSfs:{
default:[],
type: [cc.SpriteFrame],
tooltip:"鱼每个阶段的圈"
},
ui_panel_btn: cc.Sprite,
start_label: cc.Label,
Victory_title: cc.Sprite,
end_car_btn: cc.Sprite,
aliveSpriteFrame:cc.SpriteFrame
},
onLoad() {
window.gloablObj ={};
window.gloablObj.killAudio = this.killAudio;
window.gloablObj.spawnAudio = this.spawnAudio;
//物理系统激活
// cc.director.getPhysicsManager().enabled = true;
// cc.director.getPhysicsManager().gravity = cc.v2(0, 0);
//碰撞系统
var manager = cc.director.getCollisionManager();
//碰撞系统激活
manager.enabled = true;
this.spawnCount = 0;
//激活 debug 绘制
//manager.enabledDebugDraw = true;
//激活 debug 包围盒
//manager.enabledDrawBoundingBox = true;
// this.isVictor = true;
this.bgmID = -1;
// this.title_victor_title = this.countryRes[1];
// this.title_loser_title = this.countryRes[8];
//physics debug
//var Bits = cc.PhysicsManager.DrawBits;
// cc.director.getPhysicsManager().debugDrawFlags = Bits.e_jointBit | Bits.e_shapeBit;
this.nodeStartPanel.active = true;
this.nodeEndPanel.active = false;
if (window['gameReady']) {
window.gameReady();
}
//游戏计时
this.gametm = 0;
//游戏开始标记
this.gameingMark = false;
//吞噬保护期间
this.isDevourSafety = true;
this.countDownLabel = "倒计时:";
try {
//tapjoy version
if (this.channel == "tapjoy" && window.TJ_API) {
const context = this;
window.TJ_API.setPlayableBuild("fishGo v0.0.0.5");
let ISkip = {
skipAd: () => {
context.preClose();
context.gameClose();
}
};
window.TJ_API.setPlayableAPI ? window.TJ_API.setPlayableAPI(ISkip) :
window.onkeyup = function (keyEvent) {
"Escape" === keyEvent.code && ISkip.skipAd();
};
};
//监听
if (this.channel == "ironSource") {
if (dapi) {
//声音改变
dapi.addEventListener("audioVolumeChange", () => {
});
dapi.addEventListener("adResized", () => {
});
dapi.addEventListener("viewableChange", () => {
});
dapi.addEventListener("ready", () => {
});
}
}
}
catch (e) {
}
},
/**
* 游戏开始 需要做的事 放在这里
*/
startGame() {
this.bgmID = cc.audioEngine.play(this.bgm, true, 1);
//ironSource channel must by test 游戏是否就绪
if (this.channel == "ironSource") {
if (!dapi) return;
let v = dapi.getAudioVolume();
let size = dapi.getScreenSize();
let isShow = dapi.isViewable();
let isread = dapi.isReady();
if (!isread) {
return;
}
}
//加载小白鱼
this.loadLibaiyu();
//初始化玩家
const playerJs = this.nodePlayer.getComponent("Player");
playerJs.SetSpeedType(SpeedType.NORMAL);
playerJs.blink();
//开始设定给玩家一些追随者
let maxNum = this.playerChildStartCount;
const orgin = this.nodePlayer.getPosition();
const target = this.nodePlayer;
const context = this;
let timer = 0;
let num = 0;
let addChildFunc = function () {
if (num === maxNum) {
clearInterval(timer);
return;
}
const randNum = (Math.random() * 2 - 1) * 256;
context.addKeji(orgin.add(cc.v2(randNum, randNum)), target);
++num;
};
timer = setInterval(addChildFunc, 250);
//开始游戏
this.gameingMark = true;
//启用鲨鱼
this.shark.getComponentInChildren("DoneShark").startGame();
const c = this;
setTimeout(function () {
c.isDevourSafety = false;
}, c.devourTime * 1000);
},
start() {
// //初始化计时
// this.updateLabel(this.gameTime);
//初始化节点池
this.initNodePool();
},
//加载立白鱼
loadLibaiyu: function () {
this.spawnCount = this.foodCount;
},
//初始化对象池
initNodePool: function () {
this.libaiyuNodepool = new cc.NodePool();
let initCount = this.foodCount;
for (let i = 0; i < initCount; i++) {
let libaiyu = cc.instantiate(this.prefabLibaiyu);
//初始化缓存对象池引用
libaiyu.getComponent("Libaiyu").objectPool = this.libaiyuNodepool;
//libaiyu.getComponent(cc.CircleCollider).apply();
this.libaiyuNodepool.put(libaiyu);
}
},
//创建立白鱼对象
createrLibaiyu: function (parentNode, pos) {
let libaiyu = null;
if (this.libaiyuNodepool.size() > 0) {
libaiyu = this.libaiyuNodepool.get();
}
if (null != libaiyu) {
libaiyu.parent = parentNode;
libaiyu.getComponent('Libaiyu').init(pos, this);
}
},
//添加立白鱼到场景中
addLibaiyu: function () {
++this.spawnCount;
},
/**
* 创建柯基对象
* @param parentNode 父节点
* @param pos 出生点
* @param tar 领导者
*/
createrKeji: function (parentNode, pos, tar) {
let keji = cc.instantiate(this.prefabKeji);
keji.parent = parentNode;
//创建新的追随者
keji.setPosition(pos);
keji.getComponent("Follower").setFollowTarget(tar);
tar.getComponent("Leader").setTargetFollowPoint(keji);
},
/**
* 新建柯基对象
* @param pos 出生点
* @param tar 领导者
*/
addKeji(pos, tar) {
//设置 追随者, 出生位置 和 追随的位置
tar && this.createrKeji(this.nodeLibaiyu, pos, tar);
},
//设置 计时
updateLabel: function (count) {
this.labelCount.string = `${this.countDownLabel} ${count} 秒`;
},
preClose() {
//关闭相机追随
this.nodePlayer.getComponent("Move").Speed = 0;
this.mainCamera.openFollow = false;
//移除废
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
fish run-creator.zip源码cocos creator游戏项目源码下载fish run-creator.zip源码cocos creator游戏项目源码下载 1.适合个人学习技术做项目参考 2.适合学生毕业设计项目参考 3.适合小公司开发游戏项目参考
资源推荐
资源详情
资源评论
收起资源包目录
fish run-creator.zip源码cocos creator游戏项目源码下载 (265个子文件)
fishPlayer_sub.anim 3KB
fishPlayer.anim 3KB
fish7.anim 3KB
fish5.anim 3KB
fish4.anim 3KB
fish6.anim 3KB
fish5_sub.anim 3KB
fish6_sub.anim 3KB
fish1_sub.anim 3KB
fish0_sub.anim 3KB
fish4_sub.anim 3KB
fish2_sub.anim 3KB
fish7_sub.anim 3KB
fish2.anim 3KB
fish1.anim 3KB
fish0.anim 3KB
shark_idle.anim 3KB
Move.anim 3KB
fish3.anim 2KB
fish3_sub.anim 2KB
shark_prey.anim 2KB
stosh_normal.anim 2KB
tipsLabel.anim 2KB
stosh_explode.anim 1KB
Breathe.anim 862B
logAni.anim 720B
builtin-standard_rimlight.effect 2KB
custom_specularGloss.effect 1KB
game.fire 199KB
GamePanel.js 12KB
Leader.js 11KB
RobotAI.js 5KB
DoneShark.js 5KB
Joystick.js 4KB
MainCamera.js 4KB
Libaiyu.js 4KB
RobotMgr.js 3KB
Follower.js 3KB
startPanel.js 2KB
Player.js 2KB
Resize.js 2KB
Flock.js 2KB
FPS.js 1KB
use_v2.0.x_cc.Toggle_event.js 971B
Move.js 599B
EndPanel.js 494B
TagDefine.js 402B
JoystickCommon.js 223B
services.json 6KB
builder.json 1KB
project.json 1KB
launch.json 987B
tsconfig.json 293B
jsconfig.json 266B
builder.panel.json 177B
project.json 127B
fish_default.plist.meta 61KB
playerAtlas.plist.meta 9KB
builtin-standard_rimlight.effect.meta 4KB
custom_specularGloss.effect.meta 4KB
kun-youyong_25.png.meta 792B
bg_ronyan.png.meta 792B
kun-youyong_47.png.meta 790B
kun-youyong_15.png.meta 790B
kun-youyong_27.png.meta 790B
kun-chiyu_52.png.meta 790B
kun-youyong_41.png.meta 790B
kun-youyong_52.png.meta 790B
kun-youyong_5.png.meta 789B
kun-youyong_23.png.meta 789B
kun-youyong_1.png.meta 789B
kun-chiyu_41.png.meta 788B
kun-chiyu_47.png.meta 788B
kun-youyong_45.png.meta 788B
kun-youyong_30.png.meta 788B
kun-youyong_19.png.meta 788B
kun-chiyu_9.png.meta 787B
kun-chiyu_37.png.meta 787B
kun-chiyu_7.png.meta 787B
kun-chiyu_1.png.meta 787B
kun-youyong_3.png.meta 787B
kun-youyong_9.png.meta 787B
kun-youyong_7.png.meta 787B
fish11-fish_8.png.meta 786B
fish11-fish_6.png.meta 786B
fish11-fish_7.png.meta 786B
fish11-fish_2.png.meta 786B
bg_fangkung.png.meta 786B
Victory-TW.png.meta 786B
fish11-fish_4.png.meta 785B
kun-chiyu_3.png.meta 785B
bg_xiaocao.png.meta 785B
Background_1.png.meta 785B
fish11-fish_1.png.meta 784B
kun-chiyu_11.png.meta 784B
kun-chiyu_13.png.meta 784B
kun-chiyu_17.png.meta 784B
stone_2.png.meta 784B
fishgologo.png.meta 784B
Button-CN.png.meta 784B
共 265 条
- 1
- 2
- 3
资源评论
yxkfw
- 粉丝: 76
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功