自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Just for fun的专栏

好玩,最重要

转载 nodejs文件上传处理模块formidable

本文转自http://itbilu.com/nodejs/npm/NkGKcF14.html 在web开发中,经常遇到处理文件上传的情况。而express框架在4.0版本后就不在支持req.files接收上传文件,对于文件上传,需要加multipart格式数据处理的中间件。multipart数据处理中间件有:busboy, multer, formidable, multiparty, conne...

2018-02-28 12:01:31 3282

转载 MySQL导入SQL文件及常用命令

在MySQL Qurey   Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令:mysql> source   d:/myprogram/database/db.sql;另附mysql常用命令:一) 连接MYSQL:    格式: mysql -h主机地址 -u用户名 -p用户密码1、例1:连接到本机上的MYSQL    首先在打开DO...

2018-02-27 17:06:04 1838

转载 微信小程序:nodejs+百度语音识别开发实践

今天,终于成功使用nodejs研究出百度语音识别了。目前使用小程序最新录音管理api测试,小程序录音只支持aac,mp3格式,并且保持的是临时地址。而百度语音识别目前只支持pcm,wav,amr格式。因此服务端需要先存储好录音文件并经过一次音频转换。具体步骤如下:1、安装ffmpeg插件。我使用的windows系统,具体安装方法看这里,该博主文章讲的非常详细,按照步骤走即可。这个插件是使用flue...

2018-02-25 18:07:26 1369 1

转载 支持语音识别、自然语言理解的微信小程序(“遥知之”智能小秘)完整源码分享

记录自己搭建https的silk录音文件语音识别服务的调用过程,所有代码可在文中找链接打包下载>>>>>>>>>>>>>>>>>>>>>>>> 欢迎转载 <&am

2018-02-25 17:32:38 249

转载 Centos部署ffmpeg

为了进行小程序silk语音的转码,需要在服务器上配置ffmpeg的环境。接下来我以centos的linux系统作为基础进行介绍配置的操作。配置lamewget https://nchc.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.tar.gz tar -zxvf lame-3.99.tar.gz cd lame-3.99 ./...

2018-02-25 17:11:31 191

原创 HTML5移动游戏开发高级编程 11:自建Quintus引擎(3)

11.1 引言    精灵是引擎用来在屏幕上显示图形和元素的主要可视游戏对象(GameObject),精灵使用一些基本资产或精灵表(SpriteSheet)把自身绘制到游戏中;场景(Scene)则提供了一种方式把诸如关卡一类的游戏的某个离散部分包装成一个既好用又可重用的包;最后,作为游戏状态的主要容器,舞台(Stage)负责跟踪GameObject列表,以及确保它们在每帧中的更新和绘制。1

2018-02-19 19:07:11 209

原创 HTML5移动游戏开发高级编程 10:自建Quintus引擎(2)

10.1 引言    本章将继续,使用类在屏幕上绘制控件、接受用户的输入以及加载资产10.2 访问游戏容器元素    就游戏而言,要在屏幕上渲染任何东西,它必须有一个可供其在上面进行绘制的对象。对于画布游戏来说,该对象就是Canvas元素;而对于其他类型的游戏来说,它或是一个普通的或是一个SVG元素。   10.3 捕捉用户输入     创建输入子系统:键盘、鼠标、触摸输入、游

2018-02-18 14:02:01 199

原创 HTML5移动游戏开发高级编程 9:自建Quintus引擎(1)

9.1 引言     现在的JavaScript非常适于当成一种交互式游戏开发语言使用9.2 创建可重用HTML5引擎的框架     该引擎将被命名成Quintus。     设计基本的引擎API:需要在同一页面上运行多个引擎实例,该需求确保引擎作为独立单元出现,不会干扰自身或页面的其他组成部分。在可能的情况下,引擎应提供合理的选项默认值,以此免去搭建运行环境所需的大量

2018-02-18 10:21:13 392

原创 HTML5移动游戏开发高级编程 3:试飞结束,向移动进发

3.1 引言    添加触摸控件以及根据设备调整游戏界面尺寸。3.2 添加触摸控件     绘制控件:为了使在移动设备上玩游戏称为可能,一种常见的解决方案是在屏幕上添加一些可视触摸控件,这些控件可由位于页面底部的三个方形按钮组成。     游戏需要处理不同的屏幕分辨率,因此,游戏不会绘制固定大小的输入方块,而会基于游戏界面的宽度调整方块的尺寸。根据一些非正式测试可知,把游戏的界面宽

2018-02-16 15:34:52 205

原创 HTML5移动游戏开发高级编程 2:从玩具到游戏

2.1 引言    添加一些敌方飞船,并设置各种游戏元素,这样才能让敌我双方交战2.2 创建GameBoard对象    第一步是添加一种机制来同时处理页面上的一群精灵。    尽管Game对象提供了一种切换面板进出的机制,但在把任意数量的精灵添加至页面这方面,并未提供什么简易的做法。所以,我们要把GameBoard对象加进来。    GameBoard对象的作用更像是跳棋游戏

2018-02-15 23:09:35 312

原创 HTML5移动游戏开发高级编程 1:先飞后走,先难后易

1.1 引言   在HTML5上从头开始构建一个一次性游戏---一个名为Alien Invasion的纵向卷轴2D太空射击类游戏。1.2 用500行代码构建一个完整游戏      Alien Invasion秉承了游戏“1942”的精髓(但是在太空中),或可把它看成Galaga的一个简化版本。玩家控制出现在屏幕底部的飞船,操作飞船垂直飞过无边无际的太空领域,同时保卫地球,抵抗成群入侵的

2018-02-15 18:37:41 676

原创 HTML5游戏开发进阶 12:多人对战游戏操作

使用同步网络模式实现真正的多人对战游戏操作框架。我们将研究如何处理网络游戏中一些典型的难题,比如,传输延迟和同步性。为了保证游戏的同步,我们将使用前几章设计的sendCommand()方法来保证玩家的命令在两个浏览器上都已执行。我们将在游戏中使用第10章的触发器来判断游戏的获胜或失败。最后,我们将为游戏实现一个聊天系统。12.1 同步网络模型     实现多人对战最重要的一个挑战是确保所有

2018-02-14 17:07:30 1514

原创 HTML5游戏开发进阶 11:WebSocket与多人对战模式

我们将使用HTML5 WebSocket API向我们的RTS游戏加入多人对战支持11.1 使用Node.js操作WebSocket API   之前浏览器与服务器之间通信的唯一方式就是通过逐个request序列,对服务器进行轮询或长轮询。虽然这些方式确实有效,但是过高的带宽占用率和网络传输延迟使它们不适合在即时的多人对战游戏中使用。    WebSocket API的出现改变了这一切

2018-02-14 15:03:05 2068

原创 HTML5游戏开发进阶 10:完成单人战役

我们将做一些收尾工作,并最终完成单人战役。首先,向游戏中加入一些音效,如爆炸声和游戏语音;然后,结合前几章中的诸多游戏元素,来创建若干个关卡。你将看到,这些“砖块”是如何落到正确的位置上,并搭建成一个完整的游戏大厦。10.1 添加音效    游戏中过多的音效会把玩家淹没,导致玩家分心,消弱游戏的沉浸感。开发这个游戏时,我们将把注意力集中在下列关键的音效上,这些音效将提示玩家,游戏中某些关键

2018-02-14 14:28:49 194

原创 HTML5游戏开发进阶 9:添加武器和战斗

将为车辆、飞行器和炮塔装上武器,通过执行战斗指令,如进攻、守卫、巡逻和追踪等,允许单位以一种智能的方式战斗。最后,我们还要实现战争迷雾,在地图上限制玩家的视野,这将允许玩家使用一些更有趣的战斗策略,如偷袭、伏击。9.1 实现战斗系统    所有的单位和炮塔都具有自己的武器和炮弹类型。攻击敌人时,单位首先进入射程,转向目标,然后向敌人发射一枚炮弹。单位发射炮弹后,需要等待武器重新装填炮弹,才

2018-02-13 17:45:58 217

原创 HTML5游戏开发进阶 8 :添加更多的游戏元素

首先,我们将建立一个经济系统,玩家通过炼油厂可获取资金,并消耗资金购买建筑和单位。接着,通过为游戏关卡建立脚本化的事件系统,来控制游戏的故事线。实现向玩家显示消息或通知的功能。最后,我们将利用这些元素,允许玩家开始并完成关卡任务。8.1 实现基本的经济系统    有一个非常简单的经济系统。任务开始时,玩家获得一笔启动资金,然后就需要通过在油田上采集油矿来获得更多的资金。玩家能够在侧

2018-02-13 15:13:52 185

原创 HTML5游戏开发进阶 7 :单位智能移动

向被选中的单位下达命令,并使其执行该命令。将实现最基本的命令:使用自动寻径导航算法实现的单位智能移动。7.1 命令单位    单击左键选中单位,通过单击右键给单位下达命令。    用右键单击地图上的一点,就会移动到这个点。    右键单击一个敌军单位或建筑会攻击该单位。    右键单击友方单位会命令选中的单位跟随并保护该友方单位。    选中采油车后用右键单击油田会命令采油

2018-02-12 22:37:17 203

原创 HTML5游戏开发进阶 6 :加入单位

建立一个通用且易用的框架,通过该框架就能很容易地向关卡中添加单位,并使用鼠标选中它们。6.1 定义单位   加入以下游戏单位:建筑(Buildings):四种类型的建筑    基地(Base):主建筑,建造其他建筑的前提    星港(Starport):用来生产车辆与飞行器    炼油厂(Harvester):用来从油田中提炼资源    炮塔(Ground turret

2018-02-12 17:46:51 183

原创 HTML5游戏开发进阶 5 :创建即时战略游戏世界

将定义自己的游戏世界、建筑、单位,以及一个故事主线,并建立一个动人的单人战役。接着我们还要利用HTML5 WebSocket使游戏支持多人实时对战。     这款游戏的大部分素材有Daniel Cook(http://www.lostgarden.com)提供。     开发该游戏时,我们会尽可能保持代码的通用性和可定制性,这样你就可以重新使用这些代码来实现自己的想法了。5.1 基本H

2018-02-12 14:57:08 1295

原创 HTML5游戏开发进阶 4 :物理引擎集成

首先向关卡中添加物体,对这些物体进行Box2D物理仿真,然后让它们在游戏中动起来。我们将使用这些物体创建测试关卡,加入鼠标交互,使游戏真正具有可玩性。最后,再向测试关卡加入音效和背景音乐,制作出一个完整的游戏。4.1 定义物体     装载的物体:英雄、坏蛋、地面和环境中的障碍物。     属性type包含:"hero", "villain", "ground", "block"这样的

2018-02-10 15:19:31 363

原创 HTML5游戏开发进阶 3 :物理引擎基础

Box2D最初是有Erin Catto用C++编写的。很多流行的物理仿真类游戏都使用了该引擎,包含《愤怒的小鸟》,该引擎已经被转化为几种不同语言的版本,包括Java,ActionScript,C#和JavaScript。JS版本又被称为Box2dWeb。    http://code.google.com/p/box2dweb3.1 Box2D基础     Box2D使用一些基本对象来

2018-02-09 20:40:22 433

原创 HTML5游戏开发进阶 2 :创建基本的游戏世界

https://github.com/apress/pro-html5-games    需要用到的所有关键组件---启动画面、载入画面、预加载器、主菜单、视差滚动、声音、基于Box2D引擎的物理仿真、记分牌。有了这样一个基本框架,你就能够在自己的游戏中反复使用它们。2.1 基本HTML布局   包括以下图层:启动画面:页面加载时显示。游戏开始画面:包含主菜单,允许玩家

2018-02-09 16:30:40 748

原创 HTML5 canvas游戏开发实战 7 : "是男人就下一百层“游戏

卷轴游戏是因为游戏的背景看起来像是卷轴在滚动而得名,”是男人就下一百层“即为一款2D卷轴游戏。游戏中玩家的任务是让主角持续下落,其过程中会遇到各种麻烦,或地板消失,或地板消失,或地板带刺致使血量降低,可以让玩家挑战一下自己的极限。7.1 游戏分析    制作此游戏,需要用到的要素如下:    游戏层次划分为:进度条显示层、背景层、人物层、障碍层。进度条显示层用来显示图片读取时的进度,背

2018-02-07 23:03:46 580

原创 HTML5 canvas游戏开发实战 6 : 俄罗斯方块

6.1 游戏分析   图片描画   文字绘制   循环播放事件   键盘事件   触屏事件   游戏层次划分:背景层、进度条显示层、方块绘制层,方块预览层4层。6.2 必要的JavaScript知识   这款游戏的重点在于二维数组的应用,通过建立二维坐标数组,可实现方块的移动、变形以及判定。   JS中定义二维数组的定义如下:var a = new Arra

2018-02-07 20:53:22 1951

原创 HTML5 canvas游戏开发实战 5 : 石头剪刀布

5.1 游戏分析      游戏画面 loading...5.2 必要的JavaScript知识     随机数:Math.random()生成0到1的小数,如果需要随机生成一个5到10之间的整数,Math.floor(5 + 5*Math.random());     条件分支:if ... else if ... else ... 和swit

2018-02-07 11:23:30 1315

原创 HTML5 canvas游戏开发实战 4 : lufylegend开源库件

4.1 lufylegend库件简介    http://lufylegend.com/lufylegend    在lufylegend库件的使用步骤:(1)引入lufylegend库件(2)在HTML中创建一个标签(3)使用init函数进行初始化工作 loading... init(50, "mylegend", 500, 350, ma

2018-02-06 21:53:31 371

原创 HTML5 canvas游戏开发实战 3 : canvas高级功能

图形的变化和设置界面的颜色3.1 变形   放大与缩小:scale(x, y)函数,xy轴放大,如果为负数,还可以使图形翻转。   平移:translate(x, y),xy轴平移   旋转:rotate(angle),参数为弧度,angle*Math.PI/180   利用transform矩阵实现多样化的变形:transform(a, b, c, d, e, f)| 

2018-02-06 19:33:54 780

原创 HTML5 canvas游戏开发实战 2 : canvas基础

2.1 绘制基本图形    画线: var c=document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.lineWidth = 10; ctx.strokeStyle = "red"; ctx.beginPath(); ctx.moveTo(10, 10

2018-02-06 18:54:50 260

原创 Feathers框架 2:Guides --> A Chat Application

2.1 Creating the application$ npm install @feathersjs/cli -g$ mkdir feathers-chat$ feathers generate app   # 创建APP? Project name feathers-chat? Description A Feathers chat application? What

2018-02-02 22:49:34 390

原创 Feathers框架 1:Guides --> Basics

https://docs.feathersjs.com/guides/basics/readme.html1.1、The Basics    Setting up:安装$ mkdir feathers-basics$ npm init --yes  #默认初始化$ npm install @feathersjs/feathers --save #安装feathers$ 

2018-02-02 17:23:47 485

转载 ajax中JSON.stringify()和JSON.parse()方法的使用

我们平时使用ajax向后台传递数据时,通常会传递json格式的数据,当然这里还有其它格式,比如xml、html、script、text、jsonp格式。json类型的数据包含json对象和json类型的字符串JSON.stringify(),将JSON对象转换为JSON类型的字符串JSON.parse(),将JSON类型的字符串转换为JSON对象使用详情见下

2018-02-02 12:57:12 1110

转载 Ubuntu16.04安装mongodb

1.导入软件源的公钥sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA31292712.为mongodb创建软件源list文件 ubuntu12.04echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 mul

2018-02-01 17:38:52 214

转载 docker mongodb node.js

$ sudo docker pull mongo$ sudo mkdir /var/mongodb$ sudo docker run -it --name mongodb-server -v /var/mongodb:/data/db  mongo登录$ sudo docker inspect --format {{.State.Pid}} a1b37f96bf9a3389

2018-02-01 17:33:52 254

原创 Node与Express开发:19 20 21 22 23 章

电子书:http://download.csdn.net/download/qfire/10232839代码:https://github.com/EthanRBrown/web-development-with-node-and-express第十九章 集成第三方API    渐渐地,成功的网站不再是完全独立的了。为了留住已有用户,找到新用户,跟社交媒体集成是网站必须要做的工作。

2018-02-01 17:01:47 175

原创 Node与Express开发:13 14 15 16 17 18 章

电子书:http://download.csdn.net/download/qfire/10232839代码:https://github.com/EthanRBrown/web-development-with-node-and-express第十三章 持久化    保存文件:    云持久化:AWS     数据库持久化:《MongoDB权威指南》。选免费的MongoD

2018-02-01 16:05:16 242

提示
确定要删除当前文章?
取消 删除