使用JavaScript和Canvas开发游戏(三)
在知道了如何使用画布元素之后,接下来我教大家写一个框架,有了这个框架,我们就可以把它作为基础来创建游戏。在这第一部分,我们会介绍前两个文件/类。
精选技术长文、实践记录与系统化阅读
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
在知道了如何使用画布元素之后,接下来我教大家写一个框架,有了这个框架,我们就可以把它作为基础来创建游戏。在这第一部分,我们会介绍前两个文件/类。
这篇文章将带领大家学习使用JavaScript和Canvas元素操作图像了几种不同的方式,这些方式在Canvas元素出现之前是不可能的事儿。
20 项须知:前言 如今许多人都离不开网络,我们只要动动手指就能获得全球信息,并且在瞬间接触到世界各地的人和活动。所有这些超强体验都归功于开放的互联网。世界上的任何人都能通过任何已联网的设备,通过浏览器上网。 但是浏览器和网络的工作原理究竟是怎样的呢?万维网是如何发展到如今我们所了解和喜爱的样子的?我们需要了解哪些事情才能安全有效地浏览网络?“我了解到的关于浏览器和网络的 20 件事”是一个简短的指南,面...
RabbitMQ大家应该不陌生,著名的消息队列嘛。可惜我最近才听说它的大名,了解之后不禁惊呼,世界上居然还有这种东西!立刻觉得手里有了锤子,就看什么都是钉子了,主网站不愿意干的操作统统扔给RabbitMQ去做吧 言归正传,先介绍一下这篇文章的应用场景吧。我们知道大型网站的性能非常重要,然而有时不得不做一些相当耗时的操作。比如SNS网站的“新鲜事儿”系统,我发帖之后,会给所有关注我的人推送一条通知。乍一看没什么难的...
今天在 greader 上看到这么一篇,用 DNS 隧道实现免费上网。我的思绪猛然回到去年去新西兰度假的日子。 有那么几天,我们在惠灵顿的海边山顶租了个屋子,一切都很舒服,但是不能上网。甚至于附近连 wifi 信号都收不到,想"借用"一下别人的 wifi 热点都不成。我顶着海边的狂风在院子里竖起天线,捕捉着周围微弱的信号,最终未果。然后转战屋里的有线电视。我发现和国内的有线电视一样,机顶盒是接有网线的。也就是说,物理上,存在...
昨天我们看到一个非常简单有效的使用中间件组件的例子。这次我们加入一个基本的 HTTP 的功能 JSONP. JSONP (JSON-Padding) 是一个非官方的协议,它允许在服务器端使用 JSON 给来给客户端的 javascript ...
目前有大量的 Plack 中间件组件,分布在在 Plack 核心发布中包含有,还是 CPAN 上有一些。我写这个 advent calendar 让很多人了解和喜欢这些。 从今天起,我们就为大家介绍其中一些很好的中间件组...
在StackOverflow上一这样一个关于C/C++的问题,问问题的人给了一个代码如下: 你可以编译并运行这个代码(编译时会有一个Warning),结果是:5 8。看上去你可以存取一个函数内的局部变量。但这和我们理解的不一样――函数内的变量在函数退出时就被释放了,不应该在外部还可以被引用。当然,对于C/C++熟悉的人都知道其实并不是真正的释放,你依然还可以通过内存地址去进行操作,这是C/C++的内存管理的不安全性――指针可以用来乱指...
这多年来,我面试过很多程序员,最近,我在思考一个事情,究竟通过一个什么样的问题能够最大的获取一个人对于编程的能力和热忱的信息。 我总结出来,只有这个问题具有最强的钻透力: 你在业余时间都开发过什么? 我喜欢这个问题,因为它一次触及到了很多方面。业余时间是一种很宝贵的资源,你通常会把它用到你最感兴趣的事情上。如果把这种资源用于开发...
meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta标签用于网页的与中,meta 标签的用处很多。meta的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目 前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和 keywords(分类关键词),所以应该给每页...
Conditional 的中间件和 URLMap 的应用有共同点:它们都是 PSGI 应用,选择执行应用时要么通过 PSGI 取得 PSGI 的应用或者通过中间件来调度到应用 。这是 PSGI 应用程序和中间件最美的地方,今天的...
最开始几个文章讲的使用 plackup 来服务当前目录的文件,现在我们学习了怎么样使用中间件和怎么使用 URLMap 来服务多个应用。这又是非常琐碎的功能之一, 你的应用开发所必须的:服务静态文...
我们介绍了数个中间件组件,这些中的一部分是非常有效的所以我们要激活他为全局的。但其它的一些最好只是当我们确认的时候才激活,今天我们就要讲这个的解决方案。 根据条件来加载中...
Files LevelDB的实现本质上类似于Bigtable中的tablet(参见Bigtable论文5.3节)。但是,与论文中的具体的文件组织方式稍有不同,解释如下: 每个数据库由一组存储在指定目录下的一个文件集合组成。有如下几种文件类型: Log fil...
但凡初次接触MongoDB的人,无不惊讶于它对内存的贪得无厌,至于个中缘由,我先讲讲Linux是如何管理内存的,再说说MongoDB是如何使用内存的,答案自然就清楚了。
在这个工匠的时代,越来越多开发者投入了手机应用的开发圈子。如何才能在激烈的竞争中脱颖而出,少走弯路呢?我们跟空中网负责 iPhone 游戏的运营和推广的洪亮进行了一次交流,得到了不少经验和诀窍,值得分享给大家。 ifanr:请介绍一下你对苹果应用市场(Apple App Store)发展过程、现状和趋势的看法。洪亮:Apple App Store 发展到现在已经有 40 多万款应用,期间经历了许多变化,但总体趋势是一直在规范化的过程中。一个...
知乎上有个问题,”为什么京东今天还在用.net架构?阻力在哪里?” 回答中有以下几种意见: 我想问的是 .net 与java 与php比较性能方面有劣势吗?这问题问的,真是无语,记住了,技术永远是实现业务工具,对于一个企业,一个网站,一个应用的后端,语言根本不是问题,问题是在用这个工具的人!就像打羽毛球,同样都用顶级的球拍,一个普通人和国家队的能比么?我把我的意见贴在这里: 1. 关于性能. 我诧异,还有人一谈到这...
源文章来自前C++标准委员会的 Danny Kalev 的 The Biggest Changes in C++11 (and Why You Should Care),赖勇浩做了一个中文翻译在这里。所以,我就不翻译了,我在这里仅对文中提到的这些变化“追问为什么要引入这些变化”的一个探讨,只有知道为了什么,用在什么地方,我们才能真正学到这个知识。而以此你可以更深入地了解这些变化。所以,本文不是翻译。 Lambda 表达式 Lambda表达式来源于函数式编程,说白就了就是在使用的地方...
译者序:一直以来我都想写一篇关于游戏与交互设计之间关系的文章,因为我坚信好的设计和游戏一样有魔力,都能为用户带来乐趣。这可能跟我之前在游戏公司任职过有关,潜移默化地受到感染和...
在日常的前后台联调中,我们都习惯用host的方式来使某个域名的cgi都访问测试环境,然而这有一个显而易见的问题: 如果一个域名下有十几个CGI,而这次提测的只有其中的一个,那么要想整个...