egret 获取设备陀螺仪信息以及运动状态信息
在最新版本的egret(5.0.12)中,已经支持了移动设备陀螺仪和运动状态的相关API。 egret. DeviceOrientation 可以监听设备方向的变化。 egret. Motion从用户设备读取运动状态信息并派发 CHANGE 事件。当设备移动时,传感器会检测到此移动并返回设备加速度,重力和旋转数据。 废话不多说,直接上代码:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 class Main extends egret.DisplayObjectContainer { private orientationLabel: egret.TextField; private motionLabel: egret.TextField; public constructor() { super(); ...
egret粒子系统官方文档的那些坑
最近体验了一下egret粒子系统, 看了官方文档后,照着文档写,发现各种报错,不知道是原来文档就是错误的,还是egret版本多次迭代后,文档没有及时更新,而且在egret开发者中心提供的QQ群加了也没有回应,或许是egret官方太忙了,但是不管怎样,这种错误的官方文档对新手很不友好。
下面我来说说我在体验egret粒子系统踩的一些坑
说到egret的粒子系统,egret官方提供了一个制作粒子素材的工具——Egret Feather
有兴趣的可以移步到相关的官方文档查看,因为我使用Egret Feather的时候没有遇到什么问题,所以这里就不做赘述了,大家看官方文档就好了
egret粒子系统官方文档的错误?在egret的粒子系统文档中(传送门),在创建粒子示例的地方是这样的
按照示例的代码在egret 4.0.3版本中,编译就会报错
12error TS2339: Property 'system' does not exist on type 'Main'.
‘system’这个属性不属于’Main’,新人们在这里会懵逼一会儿,但是代码是死的,人是活 ...
vue CLI 代理设置以及打包引入配置
代理设置在用 vue CLI 做开发的时候,很多时候我们需要用到代理请求获取数据,vue CLI 也很方便的为我们提供配置代理的API,打开vue CLI项目的 /config/index.js 文件,找到dev里的proxyTable
12345678910111213141516171819module.exports = { //代理设置 dev: { env: require('./dev.env'), port: 8080, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/data': { target: 'http://dengtongyu.com', //代 ...
Angular CLI 之初体验
Angular CLI是一个命令行界面工具,它可以创建项目、添加文件以及执行一大堆开发任务,比如测试、打包和发布。 比起需要自己去搭建工作流,**Angular CLI** 可以为你省去这些繁琐的工作,直接进行项目的开发。
配置开发环境
安装最新版本的node,angular官方要求node 6.9.x 和 npm 3.x.x 以上的版本。 具体安装请参考 node官网 , 安装过程不再赘述。
全局安装 Angular CLI
12npm install -g @angular/cli
创建新项目
打开终端窗口 运行下列命令来生成一个新项目以及应用的骨架代码:
12ng new myapp
进入项目目录,并启动服务器。
123cd myappng serve --open
ng serve命令会启动开发服务器,监听文件变化,并在修改这些文件时重新构建此应用。 使用--open(或-o)参数可以自动打开浏览器并访问http://localhost:4200/。
设置代理
我们开发的时候,有时需要对接口做代理,**Angular CLI**同 ...
egret 练手 《围住神经猫》
Egret引擎是一个开源免费的游戏框架,用于构建二维游戏、演示程序和其他图形界面交互应用等。Egret使用TypeScript脚本语言开发。当游戏完成最终的打包后,可以将程序转换为HTML5游戏。实现跨平台特性。 Egret不仅仅是一个基于HTML5技术的游戏引擎,我们的产品线中除了Egret引擎还提供了很多辅助游戏开发的工具。准确的来说,Egret是一套游戏开发的解决方案。你可以使用Egret引擎来帮助你开发HTML5游戏,并运行在手机和PC端的浏览器中,同时也你可以使用Egret提供的相关工具搭建你自己的游戏开发工作流。 Egret的语法与ActionScript 3.0 一致,如果对as3.0熟悉的童鞋能很快上手。 果然有兴趣的童鞋可以直接去Egret的官网,有详细的文档资料 白鹭引擎官网 最近学习Egret,看了一些文档后,决定找个简单的项目自己练一下手,《围住神经猫》应该是个很好的选择。 先贴上完成的作品 Demo 1. 新建项目 打开EgretWing –> 文件 –> 新建项目 –> Egret游戏项目 完成后打开 src 下的 Main.ts,改文件就 ...
小悟
人生除了生和死,其他都是小事。 世界上没有无缘无故的爱,也没有无缘无故的恨, 一切的偶然其实都是必然, 一切的必然看起来可以躲过,其实都避免不了, 把握好当下的每一次偶然, 你才有机会改变未来的每一次必然,珍惜眼前!
navigator.mediaDevices.getUserMedia调用本地摄像头
MediaDevices.getUserMedia()方法提示用户允许使用一个视频和/或一个音频输入设备,例如相机或屏幕共享和/或麦克风。 如果用户给予许可,就返回一个Promise 对象,MediaStream对象作为此Promise对象的Resolved[成功]状态的回调函数参数,相应的,如果用户拒绝了许可,或者没有媒体可用的情况下,PermissionDeniedError 或者NotFoundError作为此Promise的Rejected[失败]状态的回调函数参数。 注意,由于用户不会被要求必须作出允许或者拒绝的选择,所以返回的Promise对象可能既不会触发resolve 也不会触发 reject。 首先在页面中放置一个video标签,用来播放本地摄像头采集到的视频流
123<video id="video" width="200" height="150" autoplay=""></video>
然后在js部分如下
...
用Node+express搭建本地https服务
安装node环境(自行谷歌百度,不赘述) 2. 安装express(自行谷歌百度,不赘述) 3. 打开命令行,利用openssl生成证书文件
12345678//生成私钥key文件openssl genrsa 1024 > /keys/private.pem//通过私钥文件生成CSR证书签名openssl req - new - key / keys / private.pem - out / keys / csr.pem//通过私钥文件和CSR证书签名生成证书文件openssl x509 - req - days 365 - in /keys/csr.pem - signkey / keys / private.pem - out / keys / file.crt
编写server文件
1234567891011121314151617181920212223242526272829303132333435var app = require('express')();var fs = require('fs');var htt ...
react native for ios 下的一个小坑
最近在尝试学习一下react native,然后就按照官网的教程一步步配置环境,一切都很顺利,但是在xcode下run的时候就报错了。
12Error: ** * Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'bundleURL must be non-nil when not implementing loadSourceForBridge'
谷歌百度一系列之后,仍然无法解决,然后加了react native中文的官方群提问,有人说是开启了VPN导致,然而我的Mac并没有配置VPN,一切又回到原点。 然而受到这个启发,把之前写web dom时配置的 127.0.0.1 localhost 还原。神奇的事情发生了,Xcode里的项目跑起来了!喜大普奔,然而我也没搞懂这是为什么。
12#host文件一定要有这个127.0 .0 .1 localhost
字符html创建DOM节点
jQuery的创建节点的方式非常方便,$(‘‘) 只要这样就可以创建一个div的节点。 我们也可以通过JavaScript简单实现一下这种方式。
1234567function createDom(html) { var tempDom = document.createElement('div'); tempDom.innerHTML = html; return tempDom.childNodes;};var div = createDom('<div>新创建的div</div>')[0];document.getElementsByTagName('body').appendChild(div);
不过值得注意的是,childNodes返回的是一个DOM节点的列表,记得处理一下