45度影子原理
影子实现的方式有很多,原理却不一样,这里使用Typescript实现的一种方案,当然也许有更好的方案。以下是实现原理(请勿直接使用于项目),实现的原理比较简单,不再做详细赘述。
首先是构造、声明和基本的设置:
public static const DIRECTION_RIGHT:number = 1;
public static const DIRECTION_LEFT:number = -1;
private var vertices:Array<number>;
private var indices:Array<number>;
private var u[......]
代码是最好的注释
ECMAScript标准直接使用的问题
直接使用ECMAScript标准有很多问题,比如著名的 Null References: The Billion Dollar Mistake ,const chocolate: Product = new Product(null, null, null);,这种完全没有意义的代码以及需要返回空对象却返回了null等类似的问题太多,这里举个栗子:
正常情况下,代码是不需要注释的,代码的命名、执行的方法、通顺的逻辑就已经是最好的注释。如果开发者的代码需要大量的注释才能读懂,说明这种代码是不合格的,而ECMAScript开发人员很少有能做到 代码即注释[……]
ECMAScript MVC模式简介
介绍
MVC是模型-视图-控制器的缩写。视图和用户交互,通过事件导致控制器改变; 控制器改变导致模型改变,或者控制器同时改变两者;模型改变导致视图改变,或者视图改变,潜在的从模型里面获得参数来改变自己。它是一种抽象的模型,一种编程思维组织方式。
实例
模型modal
这里使用多年前的示例做演示。
其他ECMASCRIPT标准或实现(如Typescript、Coffescript等)同理,不再赘述
package {
//导入相关依赖 如
import events.Event;
import events.EventDispatcher;
//imp[......]
游戏内核基础 一
游戏内核是游戏开发的核心,是对游戏开发效率提升的关键,这里写一个简单的游核。
前置
样例使用React框架和create-react-app官方脚手架,具体请查阅官方文档,此处不再赘述。
PC浏览器请使用最新版本chrome或者firefox。
移动端浏览器请使用最新系统或安装移动版chrome或firefox。
Dart版本请查阅游核 Dart版本(什么时候想起来就有可能更新);
初始化
首先,需要初始化WebGL并设置基本的循环渲染,然后绘制:
export let gl: any;
export class WEBGLUtils{
public static i[......]
TEA加密算法
加密算法用处渐渐多了起来,可以使用简单的加密算法对JS加密/解密,这里实现一个简单的微加密算法。
微加密算法(TEA)及其相关变种(XTEA,Block TEA,XXTEA) 都是分组加密算法,实现也比较简单。
TEA 算法最初是由剑桥计算机实验室的 David Wheeler 和 Roger Needham 在 1994 年设计的。该算法使用 128 位的密钥为 64 位的信息块进行加密,它需要进行 64 轮迭代,尽管作者认为 32 轮已经足够了。该算法使用了一个神秘常数δ作为倍数,它来源于黄金比率,以保证每一轮加密都不相同。但δ的精确值似乎并不重要,这里 TEA 把它定义为 δ[……]