createjs网页小游戏

0

CreateJS是一个强大的JavaScript库,用于创建2D游戏和交互式Web内容,特别适合于网页小游戏的开发。以下是一个简单的步骤,帮你创建一个使用CreateJS的HTML5小游戏:

1. **安装CreateJS库**:首先,你需要在你的HTML文件中引入CreateJS的核心库,可以从官方网站(https://createjs.com/)下载或使用CDN链接引入:

```html ```

2. **创建舞台**:在JavaScript中,创建一个`Stage`对象,这是游戏的画布:

```javascript var stage = new createjs.Stage("gameCanvas"); ``` 这里的"gameCanvas"是你的HTML中的canvas元素ID。

3. **添加精灵**:使用`createjs.Sprite`或`createjs.Bitmap`创建游戏中的角色或对象:

```javascript var player = new createjs.Bitmap("player.png"); player.x = 50; player.y = 50; stage.addChild(player); ```

4. **动画和交互**:你可以使用`Tween`创建动画,`Event`处理用户的交互:

```javascript // 创建一个简单的移动动画 var moveTween = createjs.Tween.get(player) .to({x: 150}, 1000) .easing(createjs.Ease.linear) .start();

// 当鼠标点击时停止动画 player.addEventListener("click", function() { moveTween.stop(); }); ```

5. **更新和绘制**:记得在`tick`事件中更新游戏状态并绘制:

```javascript createjs.Ticker.addEventListener("tick", function(event) { stage.update(); // 更新帧 }); ```

以上只是一个基础的例子,CreateJS库提供了很多功能,如精灵动画、粒子效果、加载器、事件处理等,你可以根据需要进行扩展。

**注意:**为了实现更复杂的游戏,可能还需要学习一些基本的编程概念和游戏设计原则。同时,CreateJS的文档和教程很全面,可以帮助你深入学习。

游戏上线后,踢踢在B站久违地更新了一期vlog。在视频中,他说在游戏上线的那刻,自己治好了精神内耗。“不管游戏成不成功,至少我现在独立把游戏做了出来,那其实就达到了自己最初想要提高制作人能力的目标。我们反而要庆幸在EA阶段看到了游戏的各种问题,后续可以一步步完善。”

此前,一位创业的朋友和踢踢说,创业就像你站在悬崖口,背后没有路,但往前走也不知道会不会掉下去。踢踢认为做独游也是如此。“以前有老板兜底,现在全部由自己负责。你不知道这些年花的功夫会不会有好的结果,一直在期望与自我矛盾中度过。但如果真的继续上班,你可能又会想,是不是做独游的人生更有意义。”

createjs网页小游戏

原本《微光之镜》计划两年内完工,实际却做了4年多。踢踢说,也许最早规划的体量并没那么大,但随着想实现的内容越来越多,玩家的期待越高,体量就会逐渐失控。

没办法,后悔是人生的常态。就算你有着再光鲜的履历背景单机策略三国群英游戏,曾做过多少成功的项目,在独立游戏这条路上,可能都会碰壁——光有勇气还远远不够。

但回看这5年的游戏制作经历,他有过太多后悔的瞬间。比如游戏测试前夕,一个人debug到凌晨;又比如连续推翻两次战斗方案,“这种时候,你会控制不住地想,干嘛不回去上班。”

“我们是喜欢成长系统的。这5年时间里,可能是自己闷头做游戏,迷失了方向,固执地以为银河恶魔城,就是要区别于传统RPG,要轻数值成长,这种思路反而让自己变得蹑手蹑脚。现在我们已经是最糟糕的情况了,我们每往前迈一步都只会更好,不会比现在更糟,那还有什么好怕的呢?”

但在年后的开会反思后,大家都很直白地说出了自己的想法。“如果我们只是拘泥于打磨细节,然后按部就班地把后续关卡完成,那其实游戏深层的缺点依然存在,即使做完了最终正式版,本质上也和把女儿埋掉没什么区别。”为了完善核心的成长系统和玩法循环,团队决定接下来的时间,要重做一套成长要素更强的战斗系统。

本来,团队在年前制定的初步计划是要在下一个0.7版本中,把游戏的战斗细节打磨好,迭代好世界地图和引导系统,随后便开始0.8版本的新内容开发。

而且,《微光之镜》一开始定位偏向休闲,希望打怪和探索的过程是舒缓且欢乐的,但团队又错误地将类银河恶魔城偏硬核的战斗结合了进来,造成了割裂。到了后期,小怪的血量和难度都比较高,玩家在缺乏成长和战斗乐趣的情况下,可能就直接逃了,甚至会变得烦躁。

《微光之镜》本身存在一个镜元系统,玩家可以收集、养成、搭配镜元,利用其提供的能力属性,构筑流派。但仅仅以此作为核心的成长系统,一方面是效果并不直观,另一方面是过于单一,缺少足够的深度和趣味性,玩家很快就会把成长系统玩透。轻度玩家甚至很少会去深究镜元的功能和搭配组合,成长性就更少了。

但现在剖析来看,这一定程度反映出了游戏设计问题。踢踢认为,战斗的手感、操作上的不足,都是可以靠进一步打磨不断进步的,而玩家的不满意,更多地方其实源于游戏的成长系统和玩法循环体验不够完善。

不少玩家吐槽游戏的战斗手感、战斗节奏。为什么只能水平射击?为什么没有闪避?为什么攻击手段那么有限?踢踢之前以为,这些问题只是因为《微光之镜》和常见的同类游戏设计不同,玩家对《微光之镜》主打的玩法和节奏不太适应。

而关于如今玩家口诛笔伐的“战斗玩法”,踢踢事后复盘起来,认为自己当初可能下意识地逃避了。“就像一种自我安慰的心理。当开发者在一件事情上投入了过多沉没成本后,就会产生一种偏执的信心。”

例如主角头上的王冠NPC,除了陪伴主角上路之外,它还承担了更多引导职能,会插科打诨地提醒玩家流程;为了让各个物件更加显眼、功能明确,踢踢也重新调整了它们的标识。

不过,游戏上线当天的初始评价仅为71%好评率。虽然经过前几天的不断更新和优化,游戏好评率目前爬升到了81%,但对于团队反复推敲过的战斗玩法,玩家似乎并不买账。“策划给美术磕头”的评论甚嚣尘上。

拿“石巨人”BOSS举例。玩家看到这个巨型怪物,可能会往场景左右两边跑,寻找安全输出位置,但实际上它有不少攻击方式是从两侧逐步攻向中间的,这就需要玩家看透它后,有意识地控制自己站位。“和打羽毛球一样,打完一个球,必须回到场中,不然自己又会陷入被动。”

当主角攻击变为远程后,整个战斗设计和节奏都要作出相应改变。在传统近战游戏中,玩家靠近boss,本身就身处危险,需要频繁做决策。但到了远程射击时,玩家会本能远离BOSS,战斗的危险程度随之下降,趣味性也会降低,因此《微光之镜》的怪物需要做很多额外的设计。

不过《微光之镜》的远程战斗与《银河战士》不同。后者往往需要玩家进行瞄准,尤其是在斜射时,玩家经常要找到合适的位置停下来射击。前者则鼓励玩家观察敌人的行为,一边不断走位一边战斗,并不以瞄准为核心。

过往银河恶魔城产品大多都是近战,你一刀我一刀,玩家要躲攻击,找间隙输出。《微光之镜》不同。踢踢一开始就想让游戏体验更加自由、新鲜,便确定了远程战斗的设计。

为了让战斗契合银河恶魔城的探索感,他设计了一套简易的技能系统。比如主角的二技能“光聚”,除了能造成AOE延迟爆炸,还可以对范围内的物体产生时停效果,既可以用于攻击、防御,也可以用于平台跳跃方面的场景解谜。虽然技能数量有限,但每个至少会有2~3种作用。

因此玩家可能反而会采取保险手段,只用普通攻击。这和团队的设计目标相悖。“想了很久,始终没能找到一个合理的方式去平衡这个机制。”

然而实际做出来后,这个玩法又引出了一系列问题。玩家在2D场景里,屏息时如果遇到怪物攻击,可躲避的空间比起3D游戏要少了一个维度。而且玩家往往还需要一定时间去判断标签的功能与瞄准,风险巨大。而即使成功射出了箭矢,也可能无法射中自己理想的标签,白白浪费一次机会。

踢踢希望在2D游戏中实现这种玩法。当玩家用普攻给怪物打上标记后,可以使用技能屏息射箭,数个标签会围绕怪物旋转,比如造成伤害、挂载Debuff、为玩家补血、召唤出召唤物等等,被屏息弓箭击破的标签会触发其作用。

第二个方案是从《地平线:零之曙光》汲取的灵感——游戏的一个核心玩法是,玩家使用不同的武器去射击怪物弱点,不仅要考量周遭环境,保证射击过程中自己是安全的,还要在操作中,既有准头又有预判。

在预研过后,踢踢发现这又是一个大坑。一个月时间,他做了七八种道具。但想要保证每个道具都尽可能地互相产生交互,设计复杂度实在太高,再考虑到平衡性和稳定性的需求,这远远超出了独立小团队能够开发和测试的量级。

举个直观的例子。玩家在战斗时可以在地上扔出一个放大镜,任何技能通过放大镜都会得到增强。如果放开脑洞,或许道具之间能组合出非常夸张、戏剧的效果。

2D游戏里很少能看到大面积长发的处理方式。《光之子》是3D的建模,头发用程序运算;《蔚蓝》是像素游戏,把头发画成几个圆球形去拖拽处理,也能很好地模拟出头发飘动的效果。

为了实现这个美术效果,踢踢花了不少力气。2017年版本的Unity功能不足,不支持场景元件的复杂嵌套。美术做好了一颗树,很难将各种树和草丛以不同方式组合进场景里。为了方便地编工作,踢踢开发了一些基础的工作流工具,用于拼接整个场景,检验场景有无出错。

简单来说,他们在引擎里搭建了Z轴,在3D环境下布置整个2D场景,比如一棵树可以放在Z轴深度为10或10.1、10.2的任意一个坐标,这样玩家从2D平面上看过去,每个景物的景深都很真实。

想要做好休闲美好的氛围设计,这里面涉及到场景的视觉观感、场景交互的真实感、探索的节奏感等等。开发伊始,团队就在场景搭建方面努力。

工作室名字枫屋游戏也由此而来。他们想要传递的感觉是——在枫树叶影斑驳的午后,有一个温暖的小屋,里面亮着小小的屏幕,几个玩家在里面分享着游戏本真的快乐。

踢踢他们从小就喜欢玩网游《冒险岛》。“它其实塑造了一个很丰富的奇幻冒险世界观,即使在战斗过程中,玩家也会有种休闲感。这世界上的苦难、负面情绪已经很多了,我们更希望玩家可以在一个阳光明媚的环境里战斗,因此《微光之镜》会更偏童话风格。”

当时市面上有不少受欢迎的同类产品,比如《Ori》《空洞骑士》。踢踢觉得,这些游戏场景都偏阴暗,玩家在寻找出路时,会有一定的心理压力。

回顾过往游戏经历,团队特别喜欢2D横版卷轴和银河恶魔城类游戏。横版视角能兼顾场景和角色的表现力,便于发挥美术原画的优势。随着镜头推进,画面聚焦角色的微表情和动作,可以传递出一种舞台剧的风格,这是其他视角所不具备的。

5年里,有过不少资方找来,踢踢不想产品被资方影响,一一婉拒。而且自工作以来,他一直为了做游戏而攒钱,因此在把成本控制得足够低的情况下,仅靠积蓄也可以勉强坚持到游戏做完。

踢踢事先做了很多考虑。比如在最贵的人力成本方面,如果按照市场价格,花3万去招一个程序,项目做个两年,那可能最后都赚不回成本;如果去招萌新,那又会涉及到磨合、培训方面的难题。

在纠结之时,CiCi对踢踢说,“如果你想要自己做游戏,尽管放心去做,我全力支持。”考虑再三,踢踢决定离开米哈游,扎进独立游戏领域。

再后来,踢踢去到《崩坏3》担任技术研发,如果顺着这条路线发展下去,他大概会成为更加资深的游戏开发程序员。但这和踢踢的规划完全不一样,比起纯技术研发,他更想往制作人的方向发展技能树。

在这段时间中,踢踢与CiCi相识。两人的游戏口味重合度非常高,《Ori》《空洞骑士》《光之子》《冒险岛》,都在两人的游戏生涯里占据了很重要的份量。双方很多想法不谋而合,只要说一句,就能互相get到对方。

又比如,在圣诞节活动时,他基于CreateJS做了一个偏大体量的横版网页游戏。玩家可以操纵姬子进入圣诞小镇,和各个NPC互动,游戏同时还具备了解谜要素、扭蛋系统、和排行榜功能。

在这期间,米哈游开始成长起来,变成了几百人的公司,web部门的人员也多起来,踢踢主要负责主管web活动的策划和开发,这是一个类似产品经理加技术的复合职务。

一次,踢踢做了一个沙雕主题的活动。玩家需要抛出各种奇怪的东西,将爱酱打到一定血量后,就有概率获得预约活动的礼品,或是测试资格。得益于内容形式的“怪”,活动在玩家之间的传播也非常广。

虽然刚开始的项目体量很小,但游戏每次大版本更新,通常会穿插2~3次运营活动,踢踢基本每周都要做好一个项目。幸运的是,当时他的Leader非常放权,并且团队只有踢踢一个web开发,很多活动的策划及技术都由他一人完成。

入职之后,踢踢负责了米哈游所有web端的项目。他做的第一个项目是万圣节的裂变邀请———玩家在游戏内跳转到web页面,点亮灯笼后传给朋友,邀请他们继续点灯。

《崩坏学园2》客户端的底层架构简易,很难承载复杂的运营活动。因此在大部分运营节点时,游戏很多市场宣发及玩家互动活动都需要转到web端进行。

就这样,踢踢去到米哈游,接受了蔡浩宇、大伟哥还有市场部Leader的面试。彼时米哈游还是四十人左右的创业团队,正缺一个web开发,考虑到踢踢此前有相应经验,公司很快就发放了offer。

小学,他从堂哥那里拿到了一台GameBoy,马上就被《宝可梦》所吸引。一节英语课上,老师布置了一篇作文,题目是梦想。轮到踢踢朗读时,他说梦想是做游戏,结果全班哄笑一片。

我很好奇,这几年来踢踢经历了什么?他当初为什么毅然决然地离开米哈游?现在又会不会后悔?在《微光之镜》上线前后,我和踢踢聊了两次。

最要命的是,游戏上线后的口碑也风雨飘摇。有人认为它的游戏性、优化不足,空有美术,其中58元的定价让不少人气愤——作为对比,同类的《空洞骑士》仅售48元。更有up主制作视频,表示要撕下其“国产独游”的遮羞布。

不过,《微光之镜》的研发历程并不顺利。从最初计划的一年半完工,到去年宣布暑期上线,再跳票至今年初,踢踢的心情也经历了一波三折。

此外,《微光之镜》曾在过去的Steam新品节期间,登上了直播观看人数榜第一。去年拿到版号后,它甚至募集到了72万元的众筹金额,这在独立游戏领域是很难想象的数字。

mac怎么安装蚂蚁游戏盒子一篇文章教会你使用HTML打造一款颜色配对游戏

createjs.Tween.get(shape).to({x:slot.x, y:slot.y}, 200, createjs.Ease.quadOut).call(checkGame);

1、本文主要介绍了createjs中EaselJs、TweenJs的用法,以及对stage是如何创建的,stage上 页面的动画效果。在页面上如何去呈现stage。以及页面是如何的跳转。js如何调用实现功能。

5)组件添加到舞台(stage),createjs.Ticker.addEventListener("tick",stage);表示刷新舞台。**

createjs.Tween.get(d).wait(100).to({y:40,alpha:1},2000,createjs.MotionGuidePlugin.bounceIn);

4)get()表示你要改变的对象,括号内输入id值。wait()表示你要延迟显示的时间,to()表示你要让它做什么事情,(这里给它到y坐标为40,并且把它的不透明度为1 ) ,MotionGuidePlugin.bounceIn:表示让它从上往下掉。**

createjs.Tween.get(d).wait(100).to({y:40,alpha:1},2000,createjs.MotionGuidePlugin.bounceIn);

专题: 单机三国棋游戏   三国累单机游戏   单机游戏三国斩