cocos cocoscreator入门教程可以做传奇类型的Android手机游戏吗?

对于触控新发布的Cocos Creator大家怎么看?_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:53,121贴子:
对于触控新发布的Cocos Creator大家怎么看?收藏
这个东西是cocos一体化的一步,代码编辑器是基于VS Code的,会像unity3D一样一个工具打天下,但是只能使用js,不能用C++和Lua了有小伙伴打算转投阵营吗?我表示继续Unity3D
只能使用js是败笔
就是因为这货只能使用JS,我果断转unity了
继续U3D不动摇,不过挺看好它的,玩了下,感觉非常强大,看到了希望,我准备有空就给他写写插件完吧,现在写了半天,快发布creator史上第一款非官方插件了
话说为什么总会看到有人纠结语言呢,程序员有哪个不懂好几门语言的。学到一定程度就会发现,语言大部分都是相同的,不同的部分纠结这些问题的人也用不上。当初为了U3D学C#,看一天基本语法就直接开干,这次creator的JavaScript我都看都不看,直接改案例,都一样的。
相比unity,它的优势在于手机端html5发布。目前unity的webgl对手机端支持仍不太给力。另外就是价格了吧。当然一个非常新 的东西,还需要时间才能成熟。
我只想知道一个问题, 那就是cocos creator的2D功能是否比Unity的2D功能更强呢?
cocos creator 和 cocos builder ,cocos studio 有啥关系
已放弃cocos,改动太多,还是unity好用,教程还多
丫的那篇《对不起我来晚了》嚣张又轻浮,竟然用户参考手册不完整,一堆”文档补全中“。兵马未动,宣传铺天盖地。这样轻浮这么急功是为了什么?
话说js能写3D游戏吗?
用过一段时间,然而那时更新一次改动太多,就不用了
请你不要到处Coco,一不小心就没Coco
自从c2d支持3d,就开始觉得不妥
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或触控的手牌—Cocos Creator-爱编程
触控的手牌—Cocos Creator
Cocos Creator是触控最新一代游戏工具链的名称。如果不太清楚的,可以先看一些新闻。
新编辑器Cocos Creator发布: 对不起我来晚了!
2016新年致辞信&&Cocos引擎创始人王哲
触控推出新编辑器Cocos Creator等四个引擎商业化新进展
cocos2d-x 2.0.x
说起Cocos Creator,那么我们不得不先八卦一下cocos2d-x,否则,我们又如何看得清触控接下来的动向呢。
众所周知的cocos2d-x从2.0.x版本开始,就独占鳌头。可以说2d手游里面,90%的团队都在使用cocos2d-x进行开发。在短短的几年时间内,它已经做到了和UNITY3D分庭抗礼的势态。 如果身处金庸先生的小说中,还真有南慕容,北乔峰的感觉。当然,cocos2d-x应该是南慕容。
cocos2d-x当初在取名字的时候,就可见其野心勃勃。 那我们来看这个x表示了哪些版本吧
cocos2d-c++
cocos2d-lua
cocos2d-html5
cocos2d-js
cocos2d-xna
上面是语言的分类。按照官方的解释,x除了是语言外,还表示它支持不同的平台。
cocos2d-ios
cocos2d-android
cocos2d-blackberry
cocos2d-wp
cocos2d-mac
cocos2d-win
cocos2d-win8
cocos2d-web
可以说,王哲和他的cocos2d-x在cocos2d-x 2.0.x版本后,逐步扩张,达到了忘我的境界。
但是不得不说,主流的却只有cocos2d-c++,cocos2d-lua。 而平台方面,也只有iOS,android这两个平台。
cocos2d-lua(quick-x)
笔者曾经也在quick-x社区混迹一段时间。这是一个框架,在cocos2d-lua的基础上,封装了一些上层的接口。并且,做了一个player。使得不会C++的同学们,也可以大胆地使用cocos2dx了。当然,如果只是这个原因,quick-x不可能这么火。可以说lua框架的兴起,完全是因为IOS在作孽。iOS如果支持代码热更新,我想许多团队不会来搞这玩意儿。
cocos2d-x 3.0.x
大家应该都知道,cocos2d-x一开始,是翻译的APPLE平台上的一款cocos2d引擎。这款引擎是oc编写的,只能用于IOS上的APP和游戏开发。 而cocos2d-x成功地实现了这个优美框架的完美跨平台。 而为了降低设计风险,王哲一开始的路子是非常对的。一个字,抄!!!。 这也是cocos2d-x成功的原因。&
不过,C++毕竟是C++,为了兼顾oc的一些语法特性。 cocos2d-x做了许多C++引擎不应该做的事情。导致了C++内核混乱不堪。这就使3.0.x应运而生。
3.0.x可以说是一个重大的变革。不仅在工作流构建上改进了(只需要安装python就可以一键打包),还在代码结构和变量命名,类名上做了重大改动。 而正是这个改动,使得cocos2d-x焕然一新,一改从前的LOWB模样。 同时,也在其代码结构中,出现了类似component的东西。 看来,组件化真的是一口诱人的毒药。
对于做引擎的人来说,3D引擎或许更有吸引力,更具挑战性。
但是,在cocos2d庸肿的框架下,再引入3D库。似乎是一件很不妥的事情。
就像,UNITY3D在这么NB的情况下,也没有把它的2D库做起来。 大家在开发2D游戏的时候,也会先考虑一下cocos2d-x的实用性。
因此,cocos2d加入3d的特性,无疑走的是Unity3D加入2D特性的路。抛开自己的主场,然后去别人的主战场找虐,是一件很不明智的事。
cocostudio
不得不说,cocostudio是我见过的,除了cocos code ide以外,最LOW的编辑器。我完全搞不清楚它是想让程序用,还是想让策划用,还是想让美术用。
也没有完整的工作流,仅仅是一个资源编辑器。同时,其扩展功能更是让人哭笑不得。 扩展一个BUTTON,还要我做一个DLL先。 然后,再把cocos2d-x用C++代码改一下。&
cocos code ide
cocos code ide可以说是cocos2d-x的历史道路上走得最远的一次弯路。
首先,lua真的没有必要做一个编辑器。
其次,quick-x和cocos-lua并存的意义何在?除了让用户更加迷茫以外,还浪费钱。 因为总有一边的要浪费 。要么quick-x的团队的工作浪费了,要么cocos-lua的工作浪费了。
另外,建议在eclipse上的IDE,没有一个是好的。 就拿笔者目前项目中用得最多的Flash Builder来说,已经是无力吐槽了。
Cocos Creator:改革开放,开创未来
正如王哲在视频中所说的。 如果,让我再重新设计一次cocos2dx,我一定会组件化,脚本化,然后有一个完整的工具链(PS:写文章的时候,就没有去看视频了,原话不见得是这样,但是内容差不多)。
本文不打算教大家Cocos Creator怎么用,因为官方的教程足够让大家入门了。&
官方入门教程:
我们来说说Cocos Creator的特性,以及为什么这样做吧。
一、使用javascript对开发流进行彻底的脚本化
不管是之前的cocos-lua还是quick-x,都想在脚本化上下功夫,但是脚本化如果做得不够彻底,将永远无法降低引擎门槛。 你总是需要一边改着C++代码,一边写着自己的脚本。 同时还要纠结,一个数据是直接写在脚本里好呢,还是写在配置文件时好。
而LUA本身,并没有强大的社区支持,应用面也较弱,除了游戏领域,用LUA的可以说是少之又少了。 苹果,微软,GOOGLE的资料和工具中,也少有LUA的身影出现。
另外还有一点就是,cocos2d-js,cocos2d-html5一直是名不见经传,可是王哲和他的触控却一直没有放弃。原因很简单,在native这个战场里,cocos2dx已经赢了。 那下一个战场呢,自己能够取胜,完全要看自己走不走在前面。
最终你会发现,不管LUA是不是有大厂支持,JS都会成为Cocos Creator的首选。 只因为,JS是一款运行在WEB上的霸主语言。
二、组件化
用过Unity3D的人都应该知道,组件化不仅在编辑器设计,数据序列化,特性扩展等方面,都优于继承。 同时,把一个脚本挂到一个对象上,让这个对象产生与众不同的能力。这天生就是一个符合人类思维习惯的方式,大大的降低了编程难度。另外,继承本身并不是所有语言的特性,但是聚合,却是任何语言都可以轻松实现的特性。因此,组件化不仅为工具开发者带来了好处,也为工具使用者带来了好处。 二者共赢的事情,不做岂不可惜!
三、可视化的一站式工作流
把资源和脚本拖放到想要的地方,填上自己需要数据,点一下启动!
对,就是这么简单。
目前只有UNITY3D能做到,但是现在Cocos Creator也可以了。
不管Cocos Creator是不是走的UNITY3D老路。但是,至少给大家多了一个选择。 我一直相信,术业有专攻,UNITY3D在3D界发光发热,但是不影响Cocos Creator成为2D界的霸主。
另外值得说明的一点。 UNITY3D虽然也有导出HTML5-WEBGL的这个功能。但是它走的是ASM.JS路线。 且由于它的上层是C#语言。 所以,UNITY3D发布到WEBGL需要经过两次翻译,一次是使用UNITY TEAM的技术IL2CPP,将C#转到C++。 然后,再使用ASM.JS翻译为JS。 且先不说中间不可控的因素很多。 光是ASM.JS的普及,就需要好几年。
BTW:这也是UE4等世界一流引擎的路子。
而Cocos Creator将一切都变得很直接。在Native平台上,使用JS做为脚本代码,用Cocos的C++ Runtime驱动。 而在WEB上,则直接使用cocos2d-html5驱动。 原生,原味!!!
Cocos Play & Cocos Store
Cocos Creator多了一个Dashboard。它既可以帮用户管理好自己的项目,同时也使自己的Cocos Play和Cocos Store拥有了直接的用户。
Cocos Play我想是触控最想做起来的平台,因为从Cocos-Html5,到Cocos Creator拥抱JS脚本化。 都在暗示着Cocos团队对Web市场的关注度。 Cocos Play则成为了流量变现的入口。或许将成为Web App和Web Game一个重要入口。 它的直接竞争对手,将会是腾讯的微信应用号。
Cocos Store则是想和Unity3D的AssetStore一样,做一个用户生态,这个用户生态只能为了维持Cocos Creator的CP群。 只要有足够的开发者,Cocos的生态系统就可以正常运转。 Cocos Play就不会缺用户。
写了这么多,也怪累的,不知道大家有没有看明白。我简单总结一下吧。
一、不要纠结JS了,用它即可。 也不要想C#和LUA啦。 想用C#的,可以直接UNITY3D。 想用LUA的,继续使用Cocos-Lua即可。
二、Cocos Creator不管是从设计思路,还是从目前的产品化程度,都远远高于之前的cocos产品系。它抛开了所有负担,从头开始。花费了巨大的人力、财力。不是拿来给大家看的。 虽然目前的版本还有一些功能缺陷。 但是,触控为了自己的利益,势必会在短时间内将其完善到足以支持在线项目的程度。
三、之前的老项目,就不要指望能够用上Cocos Creator了,完全不是一个东西。别人做兼容的时候,你们骂别人没勇气。一堆垃圾不倒掉。 别人现在完全不兼容了,你们还是要*****。 哎,做人难,做引擎更难。
四、选择权在于自己,HOLD得住就上!!!!
最后,来两张Cocos Creator的照片吧。
博客:/geniusalex
微信公众号:genius-alex
微信二维码
版权所有 爱编程 (C) Copyright 2012. . All Rights Reserved.
闽ICP备号-3
微信扫一扫关注爱编程,每天为您推送一篇经典技术文章。The page is temporarily unavailable
nginx error!
The page you are looking for is temporarily unavailable.
Please try again later.
Website Administrator
Something has triggered an error on your
This is the default error page for
nginx that is distributed with
It is located
/usr/share/nginx/html/50x.html
You should customize this error page for your own
site or edit the error_page directive in
the nginx configuration file
/etc/nginx/nginx.conf.关注游戏葡萄
微信扫描二维码关注
游戏葡萄公众号
的其他文章
的其他文章
的其他文章
的其他文章
的其他文章
的其他文章
TalkingData
的其他文章
的其他文章
的其他文章
All Rights Reserved
赞助Sponsor
赞助Sponsor
阅读Articles
数据库Data
数据库Data
招聘Recruitment
联系我们Contact
友情链接Links
游戏葡萄订阅号Cocos Creator(17)
我们在Canvas节点的同级添加一个Game节点,并添加两个子节点如图
新建一个脚本取名叫做“Game”并添加到Game节点上
var Player = require("Player");
cc.Class({
extends: cc.Component,
properties: {
player:Player,
onLoad: function () {
//返回键返回菜单
cc.eventManager.addListener({
event: cc.EventListener.KEYBOARD,
onKeyPressed: function(keyCode, event) {
if(keyCode == cc.KEY.back){
cc.director.loadScene('Menu');
}, this.node);
this.startGame();
startGame: function(){
this.player.init(this);
stopGame: function(){
作为一个专业的游戏开发者(一脸严肃,咳咳),我们有必要探讨一下游戏的设计模式
我们知道一个游戏中会有很多元素,对应到我们设计的很多节点,按理说每个节点都有自己的逻辑,有时多个节点彼此也有联系,我们把每个节点想象成一个人,如果每个人都乱交(胡乱交际的意思,请那位早熟的同学出去),那这个游戏的世界就乱套,所以我们需要一位领导者来领导这些人,每一位普通人都各司其职,当他需要其他人的帮助时,要向领导者请示,这样一来,所有普通人都只与领导者联系,领导者控制者所有普通人,世界一片美好。。。我们把这个模式叫做领导者模式(这个名字是我自己起的。。。。)
这个Game就相当于领导者,我们在其中写游戏的主体逻辑和管理各个节点的重要方法,像开始游戏,结束游戏和各个节点的初始化之类
require方法可以得到脚本组件,我们在属性里添加一个player让它的类型是require(“Player”),然后在将Player节点拖入对应位置,player属性就会引用Player节点的Player脚本,这样就可以在Game.js里调用Player.js的方法了(Player.js应先建立,不然require不到文件会报错)
新建一个脚本取名叫做“Player”并添加到Player节点上
var STATE = cc.Enum({
cc.Class({
extends: cc.Component,
properties: {
gravity:0,
jumpSpeed:0,
groundY:0,
default:STATE.NONE,
type:STATE,
visible:false,//属性面板不显示
// // use this for initialization
init: function (game) {
this.game =
this.speedY = 0;
this.state = STATE.NORMAL;
this.registerInput();
registerInput: function(){
let self =
//键盘事件
cc.eventManager.addListener({
event: cc.EventListener.KEYBOARD,
onKeyPressed: function(keyCode, event) {
if(keyCode == cc.KEY.back){
cc.director.loadScene("Menu");
self.jump();
}, self.node);
//触摸事件
cc.eventManager.addListener({
event: cc.EventListener.TOUCH_ONE_BY_ONE,
onTouchBegan: function(touch, event) {
self.jump();
}, self.node);
jump:function(){
this.speedY = this.jumpS
strengthen:function(){
this.state = STATE.SUPER;
recover:function(){
this.state = STATE.NORMAL;
die:function(){
this.state = STATE.DEAD;
update: function (dt) {
if(this.state != STATE.NONE && this.state != STATE.DEAD){
this.speedY -= this.gravity *
this.node.y += this.speedY *
if(this.node.y &= this.groundY){
this.node.y = this.groundY;
我们从上往下看
大多数情况下我们都会给主角划分状态,我这里给主角设定了四个状态
NONE:游戏开始前,什么状态都没有
NORMAL:正常状态
SUPER:超级赛亚人形态。。。
主角的一些基本属性
speedX:主角的横向速度,因为相对屏幕水平是不移动的,这个x轴速度是用来移动背景的,暂时不用管,
gravity:重力,
jumpSpeed:起跳速度,
groundY:地面位置,我们让它等于主角落在地面是主角的Y轴坐标,主角是不能掉到地面下方的,我们会在更新主角位置时判断
state:主角的状态,一开始我们把它设为无状态(OMG啊。。。)
当领导发话“开始游戏了!”,player就执行init方法,初始化一些乱七八糟的东西,让主角状态变成normal,注册事件
中间的几个改变主角状态的方法,会在特定的时候调用
最下面的update会根据主角的属性更新主角的位置
看一下效果
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:13948次
排名:千里之外
原创:38篇
评论:36条
(11)(1)(1)(4)(4)(5)(2)(8)(4)}

我要回帖

更多关于 cocos creator api 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信