zoukankan      html  css  js  c++  java
  • HTML5 Canvas核心技术—图形、动画与游戏开发.pdf2

    事件处理:

    HTML5应用程序是以事件来驱动的,可以在canvas中增加一个事件监听器,当事件发生时,浏览器就会调用这个监听器

    //方法一
    canvas.onmousedown=function(e){
    //一些代码
    };

    //方法二
    canvas.addEventListener('mousedown',function(e){
    //一些代码
    })

    基础的数学知识简介:

    代数方程:(10x+5)x2=110

    三角函数:180°等于π弧度

    正弦、余弦、正切:

    sin(α)对边/斜边

    cos(α)邻边/斜边

    tan(α)对边/邻边

    向量运算:大小和方向

    勾股定理,任何直角三角形的斜边,等于另外两边平方和的平方根

    长度为一个单位(即模为1)的向量,叫做单位向量

    向量的加减

    向量的点积(用以判断物体碰撞后移动方向)

     一帧就是一副静止的画面,连续的帧就形成动画

    第二章 绘制

    坐标系统:默认情况下,Canvas的坐标以canvas左上角为原点,X坐标向右增长,Y坐标向下延伸

    矩形的绘制:Canvas的API提供了三个方法,分别用于矩形的清除、描边和填充

    clearRect(double x,double y,double w,double h)(左上角x,y坐标,矩形的宽度和高度)

    strokeRect(double x,double y,double w,double h)

    fillRect(double x,double y,double w,double h)

    颜色与透明度:

    可以通过绘图环境的strokeStyle与fillStyle属性来设置

    context.strokeStyle='red';

    context.fillStyle='rgba(0,0,255,0.5)';

    HSL格式的颜色相对于RBG来说更直观,RGB以硬件为导向(阴极射线管),HSL三个分量分别是色相、饱和度、亮度

    渐变色与图案:

    除了颜色值以外,strokeStyle与fillStyle也支持渐变色与图案

    linear(线性渐变)与radial(放射渐变)

    createLinearGradient()方法来创建线性渐变,需要向该方法传入两个点的x、y坐标(共4个),两点之间的连线就是canvas建立颜色渐变效果的依据,调用createLinearGradient()方法后返回一个CanvasGradient实例,将该实例作为fillStyle的值

    context.fillStyle=gradient;

    CanvasGradient有一个唯一的方法addColorStop(),向渐变色中增加5个“颜色停止点”,接收两个参数,一个是0~1.0之间的double值,代表颜色停止点在渐变线上的位置,另一个是DOMString类型的CSS3颜色字串值(颜色单词)

    createRadialGradient()方法实现放射渐变,比createLinearGradient()多两个半径参数

    图案:

    Canvas元素也允许使用图案对图形和文本进行描边与填充,图案可以是image元素、canvas元素或video元素

    createPattern()方法来创建图案,接收两个参数:图案本身、一个表示重复方式的字符串(repeat、repeat-x、repeat-y、no-repeat)

    阴影:

    不管是画的是图像还是文本,都可以通过修改绘图环境中的属性值来指定阴影效果

    shadowColor:CSS3格式的颜色(设置为undefined会禁用阴影)

    shadowOffsetX:从图形或文本到阴影的水平偏移(设为负值则是向左)

    shadowOffsetY:从图形或文本到阴影的垂直偏移(设为负值则是向上)

    shadowBlur:表示高斯模糊的数值(整数)

    路径、描边与填充:

    封闭路径(closed path)

    开发路径(open path)

  • 相关阅读:
    【SQL】通过Sql实现根据分组合并指定列内容的查询 SamWang
    [转]SQLServer中全文搜索与Like的差异分析
    【笔记】《C#高效编程改进C#代码的50个行之有效的办法》第1章C#语言习惯(1)属性的特性以及索引器(SamWang)
    [转]SqlServer全文索引实例
    [转]visual studio2005中文版无法打开项目文件:*.csproj,提示“此安装不支持该项目类型”的解决办法
    [转]李天平:程序人生成长发展中的一些感悟
    【改进】C# WinForm捕获全局异常 SamWang
    Windows 7 虚拟无线网卡(microserof virtual wifi miniport adapter)功能的使用
    VB.Net 串口通信示例
    VB.Net 串口通信用法
  • 原文地址:https://www.cnblogs.com/sdgjytu/p/3889197.html
Copyright © 2011-2022 走看看