JS写游戏
最近在看萧井陌的视频。感觉一些东西挺有意思的,尤其是解决问题的过程,以及一个好程序应该改进的地方。
萧大的GITHUB:github.com/guaxiao/gua.game.js
视频:https://space.bilibili.com/39066904#!/
拖拽
键盘事件监听
//注册键盘监听事件
window.addEventListener('keydown',function(e){
var thisKey = e.key;
)}
逻辑判断
let a = 1,
b,
c = undefined,
d = null ,
f = 'null' ,
g = false,
h = 'false' let aa = {
one : a && 11, //
two : b && 22, //undefined
three : c && 33, //undefined
four : d && 44, //null
five : f && 55, //
six : g && 66, //false
seven : h && 77 //
}
console.log(aa.one,aa.two,aa.three,aa.four,aa.five,aa.six,aa.seven)
let bb = {
one : a || 11, //
two : b || 22, //
three : c || 33, //
four : d || 44, //
five : f || 55, //"null"
six : g || 66, //
seven : h || 77 //"false"
}
console.log(bb.one,bb.two,bb.three,bb.four,bb.five,bb.six,bb.seven)
one : a && 11,
当a为真时,one的属性值为 11
当a为undefined时,one的属性值为undefined
当a为null时,one的属性值为null
当a为false时,one的属性值为false
当a为字符串时,one的属性值为11
two : a || 11,
当a为真时,two的属性值为a的值
当a为null,undefined,false时,two属性值为11
//优先级()> && > ||
let a = 11 && 22 || 33 //22
b = (11 && 22) || 33 //
c = false && 22 || 33 //
d = 11 || 22 && 33 //
e = false || 22 && 33 //
f = (11 || 22) && 33 //
g = (11 && 22) && 33 //
h = false && 22 && 33 //false
i = 11 && 22 || 33 && ( 44 && 55) //
j = (11 && 22) && 33 || 44 && 55 //
k = (11 && 22) && (33 || 44) && 55 && false //false
console.log(a,b,c,d,e,f,g,h,i,j,k)
计算的优先级
括号 > && > ||
在确立优先级的情况下从左往右计算
三元运算符 ?:
作用是判断?前的语句是否为真,为真则执行中间的语句,否则执行后面的语句
log("你是人是鬼?") ? alert("你是人") : alert("你是鬼!")
图片的预加载
先载入图片,这样的话,就好用很多
参考http://www.cnblogs.com/v10258/p/3376455.html
JS写游戏的更多相关文章
- 用JS写了一个打字游戏,反正我是通不了关
今天想写个简单的游戏, 打字游戏好像都没写过, 那么就写打字游戏吧, gamePad包含了关卡的信息, 可以用来调整给个关卡字符下落的速度: getRandom函数会返回一个字符对象, 这个对象包含了 ...
- JS写小游戏(一):游戏框架
前言 前一阵发现一个不错的网站,都是一些用html5+css+js写的小游戏,于是打算学习一番,写下这个系列博客主要是为了加深理解,当然也有一些个人感悟,如果英文好可以直接Click Here. 概述 ...
- 原生js写的贪吃蛇网页版游戏特效
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <bo ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- JS小游戏:贪吃蛇(附源码)
javascript小游戏:贪吃蛇 此小游戏采用的是面向对象的思想,将蛇,食物,和游戏引擎分为3个对象来写的. 为方便下载,我把js写在了html中, 源码中暂时没有注释,等有空我在添加点注释吧. 游 ...
- 一个js小游戏----总结
花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...
- js canvas游戏初级demo-躲避障碍物
在线演示地址 http://200ok.fun:3100/html/game_demo.html 继上次js canvas游戏初级demo-上下左右移动(https://www.cnblogs.com ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- Node.js写文件的三种方法
Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...
随机推荐
- POJ2031 Building a Space Station 2017-04-13 11:38 48人阅读 评论(0) 收藏
Building a Space Station Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8572 Accepte ...
- TSQL--SQL SERVER 常用系统变量
----------全局变量select @@version as '版本';---------------------------返回当前数据库的版本信息 select APP_NAME ( ) a ...
- IOC容器之Autofac
讲到IOC容器,就必须提到DIP(依赖倒置原则). DIP是OOD(面向对象设计)的一个重要思想,在该原则上引申出了\IOC(控制反转)\DI(依赖注入)\IOC容器. 居然讲到IOC容器,当然我们要 ...
- cesium随笔 — 隐藏三维场景下方版权信息
上图中的版权信息相信很多人都想去掉,那么下面我将介绍一种简单粗暴的方法将其隐藏起来: .cesium-widget-credits { display: none!important; visibil ...
- 知识记录——CSS规范(文章内容为转载)
原作者信息 作者:词晖 链接:http://www.zhihu.com/question/19586885/answer/48933504 来源:知乎 著作权归原作者所有,转载请联系原作者获得授权. ...
- Java-File类获取目录下文件名-遍历目录file.listFiles
package com.hxzy.IOSer;import java.io.*;/*File 类获取功能 * List * ListFile * */public class Demo06 { pub ...
- 使用html2canvas截图并用jspdf打印的问题
之前的方案确实可以打印出a4的大小的pdf,但是也呈现了诸多问题,因为这种方法是截图然后再进行打印的,所以打印出来的效果是模糊的,思前想后决定放弃了这种方式. 最终还是决定使用浏览器自带的打印方法. ...
- NOIP2018滚粗祭(周记更新至11.25)
还好吧, 好像回归之后 还是有时间去机房转一转的 一个特别生动的例子就是 体育会考就去机房呆了一上午. 这里又要吐槽一下信息技术会考 stm我拿到的第一道题就是 https://www.luogu ...
- 关于字典的几个类--defaultdict,OrderedDict, zip()
一. 1个键对应多个值 比如:d = {'a' : [1, 2, 3], 'b' : [4, 5]},可以使用 collections 模块中的 defaultdict 来构造这样的字典 from ...
- docker微服务部署之:二、搭建文章微服务项目
docker微服务部署之:一,搭建Eureka微服务项目 一.新增demo_article模块,并编写代码 右键demo_parent->new->Module->Maven,选择M ...