cocos制作游戏排行榜
创始人
2024-10-23 01:56:22
0

一、cocos游戏开发有前途吗

今年前11月企业需求增长11%。

+11%

增长速度

2022年较2021年

2022-11:增长3300%򀀉

2022-10:增长2800%򀀉

2022-09:增长25%򀀉

2022-08:下降30%򀀈

cocos游戏开发工程师近两年招聘职位量/就业形势对比

查看近2年招聘趋势

cocos游戏开发工程师今年就业形势怎么样?好就业吗?数据统计依赖于各大平台发布的公开数据,系统稳定性会影响客观性,仅供参考。

#查看所在地区情况

近年企业需求趋势,2021较2020增长62%

+62%

增长速度

2021年较2020年

2020:增长23%򀀉

2019:下降34%򀀈

2018:增长156%򀀉

2017:增长259%򀀉

cocos游戏开发工程师历年就业情况

查看历年招聘趋势

cocos游戏开发工程师发展前景怎么样?就业难吗?曲线越向上代表市场需求量越大,就业情况相对较好。数据由各地招聘网站统计而来,仅检索职位名称。

哪个城市好找工作:北京,广州需求最高

招聘需求量地区排名:全国

北京 108,19.2%

򀀩

广州 103,18.3%

򀀩

深圳 96,17.1%

򀀩

上海 68,12.1%

򀀩

杭州 38,6.7%

򀀩

成都 30,5.3%

򀀩

武汉 30,5.3%

򀀩

厦门 21,3.7%

򀀩

南京 12,2.1%

򀀩

天津 6,1.1%

򀀩

福州 6,1.1%

򀀩

长沙 6,1.1%

򀀩

cocos游戏开发工程师去哪个城市工作好?cocos游戏开发工程师去北京工作好还是广州好?北京cocos游戏开发工程师招聘需求量最高,占19.2%,在全国中排名第1。其次是广州占18.3%,深圳占17.1%,上海占12.1%。统计依赖于各平台发布的公开数据,系统稳定性会影响客观性,仅供参考。

加班情况调查

经常加班:(

0

不用或偶尔:)

0

cocos游戏开发工程师经常加班吗?加班严重不?暂无反馈

工资待遇2022较2021下降21%

更多

-21%

增长速度

2022年较2021年

2021:增长21%򀀉

2020:增长18%򀀉

2019:下降5%򀀈

2018:增长17%򀀉

历年工资变化(月薪,单位¥)

查看历年工资变化

cocos游戏开发工程师今年工资怎么样?

哪个城市工资高:北京,上海

更多

工资待遇地区排名:全国

北京¥23.5K

򀀩

上海

򀀩

深圳

򀀩

南京

򀀩

杭州

򀀩

福州

򀀩

成都

򀀩

广州

򀀩

武汉

򀀩

长沙

򀀩

厦门

򀀩

天津

򀀩

cocos游戏开发工程师工资高吗?平面设计去哪个城市工资高?北京cocos游戏开发工程师工资最高,平均¥23.5K,其次是上海,深圳,南京,杭州,福州,成都,广州,武汉,长沙,厦门,天津

学历要求:本科最多

更多

本科 71.6%

大专 24.3%

不限学历 3.9%

cocos游戏开发工程师要求学历吗?本科占比最多达71.6%,其次是大专占24.3%,不限学历占3.9%

查看高学历人才需求

高学历人才需求

硕士 0.19%

cocos游戏开发工程师学历要求高吗?硕士占0.19%

经验要求:3-5年最多

更多

3-5年 33.6%

1-3年 26.5%

5-10年 9.9%

10年以上 0.71%

cocos游戏开发工程师经验要求高吗?cocos游戏开发工程师经验要求:3-5年占33.6%,1-3年占26.5%,5-10年占9.9%,10年以上占0.71%

零经验占比

不限经验 25.8%

应届毕业生 3.6%

没有经验可以做cocos游戏开发工程师吗?不限经验占25.8%,应届毕业生占3.6%

职业信心调查

嗯,有信心

0

准备转行

0

cocos游戏开发工程师行业现状?就业难吗?暂无反馈

推荐岗位

cocos开发工程师

游戏开发工程师

游戏客户端开发工程师

h5游戏开发工程师

cocos2dx开发工程师

游戏前端开发工程师

前端开发工程师

小游戏开发工程师

c++客户端开发工程师

客户端开发工程师

高级游戏开发工程师

展开更多

cocos游戏开发工程师与其他岗位就业前景PK

PK cocos开发工程师

PK游戏开发工程师

PK游戏客户端开发工程师

PK h5游戏开发工程师

PK cocos2dx开发工程师

PK游戏前端开发工程师

PK前端开发工程师

PK小游戏开发工程师

PK c++客户端开发工程师

PK客户端开发工程师

PK高级游戏开发工程师

展开更多

当前地区职位量比例变化

cocos游戏开发工程师就业形势分析图

*此图为cocos游戏开发工程师就业前景分析相对比例图,代表cocos游戏开发工程师职位占当前地区总职位量的比例变化,它通常能反应一个地区的产业变化。

二、做游戏学unity还是cocos 2020

个人比较推荐学Unity。

首先cocos它目前只支持2D游戏的制作,所有在可制作的游戏类型上有很大的局限性,而且版本更新也很慢,基本落后于游戏时代的发展。

而Unity是目前最主流的游戏制作引擎之一,开发难度相对其他平台,已经算是十分简单。自带资源下载平台,可以下载海量资源。网上也有很多教程和论坛,可以解答新手在开发过程中遇到的疑问和技术问题。而且支持2D、3D游戏类型的制作,然后也是一键打包,支持手机、网页、PC端平台的输出。对没什么经验的开发小白而言,的确算是最合适的。

三、cocos creator制作一个简单的拼图游戏

简介使用cocos creator2.x版本制作的拼图游戏,移动图块,还原最终的样子

开始,我们分析一下这个游戏的几个要点 1,是如何将一张完整的图片分成3*3 5*5个小图,并且这些小图要可以保存自己的位置信息,等一些属性 2,是如何表示小图合集的位置,用什么数据结构保存,且怎么让图片逻辑,与数据逻辑对应 3,是如何判断游戏结束 

上图是游戏的场景结构,可以看到2.x版本和1.x版本有一些区别,最突出的就是新增了一个默认的carmera结点这个我会在别的帖子内仔细介绍,这里不再多说 

首先我们解决第一个问题,如何将一个大图切成一个个小图,并让这个小图保存一些属性值,我们先新建一个脚本, puzzlePiece.ts, 

const{ ccclass, property}= cc._decorator;

@ccclass

exportclassPieceextendscc.Component{

@property({

type: cc.Texture2D

})

privatetexture: cc.Texture2D=null;

publicoriCol: number;

publicoriRow: number;

publiccurCol: number;

publiccurRow: number;

publicisBlank:boolean;

publicgetisRight(){

returnthis.curCol===this.oriCol&&this.curRow===this.oriRow;

}

publicinit(col: number, row: number, colNum: number, colWidth: number){

this.oriCol= col;

this.oriRow= row;

this.curCol= col;

this.curRow= row;

let sprite=this.node.addComponent(cc.Sprite);

//升级2.0后setRect失效

// sprite.spriteFrame= new cc.SpriteFrame(this.texture);

// let rect= sprite.spriteFrame.getRect();

let rect= cc.rect(0,0,this.texture.width,this.texture.height);

let newRectWidth= rect.width/ colNum;

let newRectHeight= rect.height/ colNum;

let newRectX= col* newRectWidth;

let newRectY=(colNum- row-1)* newRectHeight;

let newRect= cc.rect(newRectX, newRectY, newRectWidth, newRectHeight);

// sprite.spriteFrame.setRect(newRect);

sprite.spriteFrame=newcc.SpriteFrame(this.texture, newRect);

this.node.width= colWidth;

this.node.height= colWidth;

this.isBlank=this.oriCol=== colNum-1&&this.oriRow===0;

if(this.isBlank){

this.node.active=false;

}

}

}

将小图看做一个类,使用texture保存图片纹理,在通过new cc.SpriteFrame(this.texture, newRect);获取某一个矩形区域内的纹理,这样就可以把一张大图切成一张张小图,并添加几个属性,保存位置和其他的信息 

那么开始解决第二个问题,我们可以采取二维数组的数据结构保存数据信息private pieceMap: Array;讲一个个切好的小图保存在内,然后随机移动(为了保证图片可以还原,我采取的方法是将一个正确摆放好的小图数组,按照游戏规定的移动方式随机移动1000次),这样图片一定可以被还原

import{ Piece} from"./PuzzlePiece";

import{ PuzzleScene} from"./PuzzleScene";

const{ ccclass, property, executeInEditMode}= cc._decorator;

@ccclass

//@executeInEditMode

exportclassPuzzleBoardextendscc.Component{

@property(cc.Prefab)

privatepiecePrefab: cc.Prefab=null;

@property(cc.Integer)

privatecolNum: number=5;

@property(cc.Integer)

privatecolSpace: number=5;

privatecolWidth: number=0;

privatepieceMap: Array;

privateblankPiece: Piece=null;

privatepuzzleScene: PuzzleScene=null;

init(puzzleScene: PuzzleScene){

this.puzzleScene= puzzleScene;

this.addListeners();

}

publicreset(colNum?: number){

this.colNum= colNum;

this.colWidth=(this.node.width-this.colSpace*(this.colNum+1))/this.colNum;

this.node.removeAllChildren();

this.pieceMap= [];

for(let x=0; x

this.pieceMap[x]= [];

for(let y=0; y

let pieceNode= cc.instantiate(this.piecePrefab);

this.node.addChild(pieceNode);

pieceNode.x= x*(this.colWidth+this.colSpace)+this.colSpace;

pieceNode.y= y*(this.colWidth+this.colSpace)+this.colSpace;

this.pieceMap[x][y]= pieceNode.getComponent(Piece);

this.pieceMap[x][y].init(x, y,this.colNum,this.colWidth);

if(this.pieceMap[x][y].isBlank){

this.blankPiece=this.pieceMap[x][y];

}

}

}

this.shuffle();

}

privateshuffle(){

for(let i=0; i<1000; i++){

let nearPieces=this.getNearPieces(this.blankPiece);

let n= Math.floor(Math.random()* nearPieces.length);

this.exchangeTwoPiece(this.blankPiece, nearPieces[n]);

}

}

privateonBoadTouch(event: cc.Event.EventTouch){

let worldPos= event.getLocation();

let localPos=this.node.convertToNodeSpaceAR(worldPos);

let x= Math.floor((localPos.x-this.colSpace)/(this.colWidth+this.colSpace));

let y= Math.floor((localPos.y-this.colSpace)/(this.colWidth+this.colSpace));

this.puzzleScene.onBoardTouch(x, y);

}

publicmovePiece(x, y):boolean{

let piece=this.pieceMap[x][y];

let nearPieces=this.getNearPieces(piece);

for(let nearPiece of nearPieces){

if(nearPiece.isBlank){

this.exchangeTwoPiece(piece, nearPiece);

returntrue;

}

}

returnfalse;

}

publicjudgeWin():boolean{

for(let x=0; x

for(let y=0; y

if(!this.pieceMap[x][y].isRight){

returnfalse;

}

}

}

this.blankPiece.node.active=true;

returntrue;

}

privategetNearPieces(piece: Piece): Array{

let nearPieces= [];

if(piece.curCol>0){// left

nearPieces.push(this.pieceMap[piece.curCol-1][piece.curRow]);

}

if(piece.curCol

nearPieces.push(this.pieceMap[piece.curCol+1][piece.curRow]);

}

if(piece.curRow>0){// bottom

nearPieces.push(this.pieceMap[piece.curCol][piece.curRow-1]);

}

if(piece.curRow

nearPieces.push(this.pieceMap[piece.curCol][piece.curRow+1]);

}

returnnearPieces;

}

publicexchangeTwoPiece(piece1: Piece, piece2: Piece){

this.pieceMap[piece2.curCol][piece2.curRow]= piece1;

this.pieceMap[piece1.curCol][piece1.curRow]= piece2;

[piece1.curCol, piece2.curCol]= [piece2.curCol, piece1.curCol];

[piece1.curRow, piece2.curRow]= [piece2.curRow, piece1.curRow];

[piece1.node.position, piece2.node.position]= [piece2.node.position, piece1.node.position];

}

privateaddListeners(){

this.node.on(cc.Node.EventType.TOUCH_END,this.onBoadTouch,this);

}

privateremoveListeners(){

}

}

解决第三个问题,其实这个很简单,因为我们已经在小图类中保存了小图本身的位置信息,我们只需要,每次移动图片都遍历一个二维数组判断其是否在正确的位置,判断成功,结束游戏 点击链接加入群聊【cocos/unity交流群】

声明:发布此文是出于传递更多知识以供交流学习之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与我们联系,我们将及时更正、删除,谢谢

相关内容

热门资讯

国产 重力 游戏排行榜 一、推荐一些iphone APPstore里的重力感应游戏1、Labyrinth 2 HD一款控制钢...
广州棋牌游戏排行榜 一、电竞游戏排行榜前十名是哪些电竞游戏排行榜前十名:《DOTA2》,《绝地求生》,《英雄联盟》,《穿...
高清画质游戏排行榜 一、好玩的游戏排行榜前十名第1款《战争机器5》《战争机器》系列最早是Xbox平台上面的独占游戏,电脑...
顶级玄幻游戏排行榜 一、策略游戏排行榜前十名策略游戏排行榜前十名如下:1、《部落冲突》3D卡通的战争策略类游戏,在这个游...
当今恐怖游戏排行榜 一、恐怖游戏排行榜前十名恐怖游戏排行榜前十名依次是:《生化危机》、《寂静岭》、《逃生》、《死魂曲2》...
传奇游戏推荐 排行榜 一、有什么值得推荐好玩的传奇游戏要说好玩的游戏,首推:海蛇传奇(2022庆典福利版),2022.10...
策略游戏下载排行榜 一、手游策略游戏排行榜前十名手游策略游戏排行榜前十名是《三国志·战略版》《海岛奇兵》《部落冲突》《率...
ps系游戏排行榜 一、ps4游戏排行榜前十名ps4十大必玩的游戏有《漫威蜘蛛侠》、《荒野大镖客2》、《赞歌》、《战神4...
psp重制游戏排行榜 一、psp十大经典游戏排行10、《Daxter》《Jak& Daxter》一直是一款颇具人气的动作型...
8090游戏热度排行榜 一、2018美剧排行榜是怎么样的2018美剧排行榜:《Kidding》、《Maniac》、《The ...