Phaser

Phaser3 H5引擎试用感

三世轮回 提交于 2021-01-18 01:15:05
按网上教程写了3个小游戏,Phaser还是蛮可以的,主要是生态比较强,例子多。但缺点是没有一个成体系的教程,只能不断的通过案例来学习。现在通过这3个例子了解到了: 场景、游戏帧循环、静态对象、精灵(及速度)、碰撞、物理引擎、重叠的处理、动画、粒子(及跟随)、摄像机(及跟随)、对象池。这些概念还是比较多的,只能是多练习才能体会及理解。 网上还有3种写法: 1、原始JS 2、现代JS ES6 3、前端工程 感觉还是现代JS比较适合上手 来源: oschina 链接: https://my.oschina.net/sqhua/blog/4907291

并行化-你的高并发大杀器

本秂侑毒 提交于 2020-10-30 19:37:53
1.前言 想必热爱游戏的同学小时候,都幻想过要是自己要是能像鸣人那样会多重影分身之术,就能一边打游戏一边上课了,可惜漫画就是漫画,现实中并没有这个技术,你要么只有老老实实的上课,要么就只有逃课去打游戏了。虽然在现实中我们无法实现多重影分身这样的技术,但是我们可以在计算机世界中实现我们这样的愿望。 2.计算机中的分身术 计算机中的分身术不是天生就有了。在1971年,1971年,英特尔推出的全球第一颗通用型微处理器4004,由2300个晶体管构成。当时,公司的联合创始人之一戈登摩尔就提出大名鼎鼎的“摩尔定律”——每过18个月,芯片上可以集成的晶体管数目将增加一倍。最初的主频740kHz(每秒运行74万次),现在过了快50年了,大家去买电脑的时候会发现现在的主频都能达到4.0GHZ了(每秒40亿次)。但是主频越高带来的收益却是越来越小: 据测算,主频每增加1G,功耗将上升25瓦,而在芯片功耗超过150瓦后,现有的风冷散热系统将无法满足散热的需要。有部分CPU都可以用来煎鸡蛋了。 流水线过长,使得单位频率效能低下,越大的主频其实整体性能反而不如小的主频。 戈登摩尔认为摩尔定律未来10-20年会失效。 在单核主频遇到瓶颈的情况下,多核CPU应运而生,不仅提升了性能,并且降低了功耗。所以多核CPU逐渐成为现在市场的主流,这样让我们的多线程编程也更加的容易。 说到了多核CPU就一定要说GPU

Java并发编程

谁说我不能喝 提交于 2020-10-05 06:48:40
( 1 )并发编程领域可以抽象成三个核心问题:分工、同步(协作,一个线程执行完了一个任务,如何通知执行后续任务的线程开工)和互斥(线程安全,同一时刻,只允许一个线程访问共享变量)。 分工方法: Java SDK 并发包里的 Executor 、 Fork/Join 、 Future 、生产者 - 消费者、 Thread-Per-Message 、 Worker Thread 模式 协作方法: Java SDK 并发包里的 Executor 、 Fork/Join 、 Future 、 CountDownLatch 、 CyclicBarrier 、 Phaser 、 Exchanger 线程协作问题:当某个条件不满足时,线程需要等待,当某个条件满足时,线程需要被唤醒执行 Java 并发编程领域,解决协作问题的核心技术是管程,管程还能解决互斥问题,管程是解决并发问题的万能钥匙。 分工、同步主要强调的是性能,实现互斥的核心技术就是锁,锁解决了安全性问题,但同时也带来了性能问题 如何保证安全性的同时又尽量提高性能呢?可以分场景优化( ReadWriteLock 、 StampedLock 就可以优化读多写少场景下锁的性能),可以使用无锁的数据结构(原子类),以及不共享变量或者变量只允许读( Thread Local 和 final 关键字,还有一种 Copy-on-write 的模式)

使用游戏引擎,开发了一个创作像素艺术的社区

余生长醉 提交于 2020-08-12 15:14:14
前端时间在用phaser.js开发2d游戏。其中有用到像素风格。于是来了一个灵感,何不使用phaser引擎开发一个像素社区? 说干就干,于是自己动手,用了一个晚上,把核心功能给实现了。 后端用的是laravel+mysql,前端用的react+phaser。 具体效果: 字符串编辑器: 源代码: https://github.com/codetyphon/codeplay 演示地址: http://codeplay.buzz/discover 来源: oschina 链接: https://my.oschina.net/u/4384923/blog/4305972

蒲公英 · JELLY技术周刊 Vol.17: 90 行代码实现 React Hooks

不羁岁月 提交于 2020-08-12 11:15:35
蒲公英 · JELLY技术周刊 Vol.17 React Hooks 相信大家都不陌生,自被设计出以来就备受好评,在很多场景中都有极高的使用率,其中原理更是很多大厂面试中的必考题,很多朋友都能够如数家珍。那么如何去用实现一个简单的 React Hooks 呢?或许大家都有各自的想法,但也不妨来看看文中所述的方案是如何构建的。 登高远眺 天高地迥,觉宇宙之无穷 基础技术 2020 Chrome DevTools 的新特性介绍 作为前端开发,与 Chrome 打交道是家常便饭,我们有必要了解 Chrome 调试工具的更新迭代,对日常开发和调试带来哪些帮助和改善。新 Chrome DevTools 集成了 lighthouse,并且在元素审查面板和性能面板都有一定程度的优化,本文还提供了相关特性的视频演示,非常易于理解学习。 浏览器的任务、微任务、队列和调度 浏览器里的事件循环(Event Loop)一直都是一个老生常谈的话题,社区里各种文章和资料也不少,但是你真的清楚事件循环里面的 tasks、microtasks、queues 这些概念以及他们的调度关系吗?本文是 Google Chrome 的开发人员 Jake Archibald 撰写的一篇博客,内容深入浅出,在任务调度及 JS 栈的部分还细心的绘制了 CSS 交互动画,最后还探讨了不同浏览器的差异以及相关规范的定义,非常值得一读

h5小游戏构建架设h5棋牌平台开发制作

柔情痞子 提交于 2020-04-19 18:30:25
还记得贪吃蛇这个经典游戏吗?在诺基亚时代,在黑白像素点游戏机时代,就是这样一个简单的游戏也能让我们玩上几个小时。 还有现在最热门的h5棋牌平台开发制作Q-2189563389,也都是利用H5开发的 在这篇文章,我们将使用HTML5来重现这个游戏,基于著名的开源HTML5游戏框架——Phaser。你将了解到游戏精灵、游戏状态,以及如何使用预加载(preload)、创建(create)与刷新(update)方法。最终效果呈现如下: 一、开发准备 首先访问Phaser官网,下载JavaScript版本的 ,选择用于生产环境的压缩版phaser.min.js。 项目文件结构如下: 打开index.html,链接五个js文件,并添加页面标题,启动游戏时打开此文件即可: <!doctype html> < html> < head> < meta charset= "utf-8"> < title>贪吃蛇 </ title> < script src= "assets/js/phaser.min.js"> </ script> < script src= "assets/js/menu.js"> </ script> < script src= "assets/js/game.js"> </ script> < script src= "assets/js/gameover.js"> </

JAVA 并发体系概览

安稳与你 提交于 2020-04-10 17:40:26
Java并发包主要有以下部分构成: 同步对象 主要提供多个线程以何种方式进行通信协作 执行器 管理多线程,提供线程运行入口 锁 控制线程访问资源的顺序 原子操作 对Java的基本类型进行了封装,对integer等这些包装类提供了原子操作 并发框架 为了简化并行编程的复杂性,Java或者其他公司定义的并发框架 以上对相关的类有一个大致的概览,下面主要大概的讲述一下同步对象的使用场景 Semaphore : 信号量:信号量通过计数器控制对共享资源的访问。如果计数器大于0,访问允许,如果为0,访问是拒绝的。计数器计数允许访问共享资源的许可证,因此,为了访问资源,线程必须获取信号量的访问许可。通常,为了使用信号量,希望访问共享资源的线程尝试取得许可。如果信号量的计数器大于0,就表明线程取得了许可证,这会导致信号量的计数减小;否则线程会被阻塞,直到能够获取许可证为止。当线程不需要访问共享资源时,释放许可证,从而增大信号量的计数。如果还有另外的一个线程正在等待许可证,该线程将在这一刻取得许可证 CountDownLatch : 有时候希望线程进行等待,直到发生一个或多个事件为止。为了处理这类情况,并发API提供了CountDownLatch类。CountDownLatch在初始创建时带有时间数量计数器,在释放锁存器之前,必须发生指定数量的时间。每次发生一个事件时,计数器递减。当计数器达到0时

2018 年 -- 15 个有意思的 JavaScript 和 CSS 库

纵饮孤独 提交于 2020-03-23 07:39:22
在Tutorialzine上你可以了解最新最酷的Web发展趋势。这就是为什么每个月都会发布一些偶然发现并认为值得你关注的最佳资源的缘由。 Direction Reveal (方向展示) 该插件检测光标进入或离开块时的方向,允许你使用各种酷炫特效和过渡。它提供了一些开箱即用的CSS动画,让你可以轻松创建自己的CSS动画。 Carbon Carbon允许你创建并分享代码组成的美丽图像。你所需要做的就是将你的代码粘贴到编辑器中,或直接自己编写代码。你可以通过更改字体样式、编辑器主题、语法高亮和甚至窗口按钮来自定义图像的外观。 Аxios Axios为处理HTTP请求提供了一个现代化的JavaScript解决方案。它有一个基于Promise的API,在处理async调用时使你的代码更加结构化。该库可以在浏览器中工作,也可以在node.js环境中工作。 Jarvis 一款基于Webpack仪表板的智能浏览器,它可以给你显示你在webpack构建所需的所有重要信息。它向你展示了你的资源在12种不同的连接类型中的表现如何,你项目中所有包的大小,并拥有一个漂亮的错误输出。它仍处于beta版本,预计会增加许多新功能。 Toast UI编辑器 这是一个markdown和WYSIWYG编辑器,允许你在编码时轻松地在markdown和所见即所得模式之间切换。它提供了渲染后HTML的实时预览

Phaser.js开发-星星狗游戏(上)

≯℡__Kan透↙ 提交于 2020-03-01 20:38:08
星星狗PS(个人兴趣爱好,不是游戏开发专业,不喜勿喷), 转载请命名出处: http://my.oschina.net/8946a/blog/edit/738388 试玩下载地址 : http://git.oschina.net/8946a/star_dog 简单介绍下写的小玩意儿,游戏世界有碰撞,刚体,摩擦,重力,阻力,速度,加速度,分数统计等,操作简单,玩家控制单身狗键盘可以上下左右控制,吃星星+10分, 吃钻石+20分,碰撞到敌人时候会死亡。就像这样 。。。。 我是故意碰到敌人的,为了给大家演示结果、 当吃掉所有的星星与钻石会这样 麻雀虽小,五脏俱全,今天就跟大家一起聊聊这个游戏是怎么写的 具体怎么搭建环境,我就不墨迹了。在上个博客“开发愤怒的小鸟里面有提到” 直接上代码 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>星星狗</title> <script src="js/phaser.min