canvas教程

适用于javascript开发者的Processing.js入门教程(4)

字号+ 作者:H5之家 来源:H5之家 2017-02-13 12:01 我要评论( )

注意:放在代码顶部的额外的注释行。"@jps"指令是给Processjing.js用的,不是给开发者用的。可以把它认为成额外的代码行,它们将在程序执行前就被执行了。 如果你有多个图片被加载,可以使用如下列表: /* @pjs pre

         注意:放在代码顶部的额外的注释行。"@jps"指令是给Processjing.js用的,不是给开发者用的。可以把它认为成额外的代码行,它们将在程序执行前就被执行了。
         如果你有多个图片被加载,可以使用如下列表:

/* @pjs preload="picture.jpg,picture2.jpg,picture3.png"; */

Processing.js需要更多的注意在变量的命名上比Processing
       javascript其中一个最强大的特性就是它的动态,弱类型的性质。因为java是强类型的语言,所以Processing也是,他们能重复命名而不用还怕产生歧义(例如:方法的重载),Processing.js就不行。不能进入javascript的内部工作,所以对Processing.js的开发者来说,最好的建议就是不要用 function/class/etc/,也不要用来自Processing的名字来命名变量。例如,一个叫 line的变量可能看起来合理,但是它会导致问题,因为它和Processing与Procesing.js内置的函数名line()一样。
当要覆盖重载的父类方法时,Processing需要你的帮助
如果你的代码使用子类覆盖一个或多个父类里重载的方法,你需要“假”覆盖,因为,每个方法签名,你通常就没改动过:

class X { void doSomething() { ... } void doSomething(float x, float y) { ... } } class Y extends X { void doSomething() { // different code from compared to the super class } // even though we don't override this method, // its signature must be added to prevent Pjs // from getting the method chain wrong: void doSomething(float x, float y) { super.doSomething(x,y); } }

    尽管在Processing里 你不需要实现拥有(float,float)签名的空方法doSomething,但是这样做几乎是必须的,这是为了确保Processing.js在调用方法时不被搞晕。
直接将Processing 代码放在web页面里也是可以的
      在canvas上,用一个 data-processing-source属性包含Processing.js加载的外部文件的做法是首选,但是推荐的方式在web页面里外引用脚本。但是写成行内引用也是可以的。
     把上边例子的代码作为行内引用的方式,有必要的改动一点:

<script src="processing-1.3.6.min.js"></script> <script type="application/processing" data-processing-target="pjs"> void setup() { size(200, 200); background(100); stroke(255); ellipse(50, 50, 25, 25); println('hello web!'); } </script> <canvas> </canvas>

         这些代码是更复杂了,因为它没有指出那个canvas配那个脚本文件(即:你可以在一个页面引用多个Processing sketch,同样也可以有多个canvas)。也没有说明脚本的"type"属性,这个属性是用来区别javascript和Processing代码的(浏览器将忽略 Processing 脚本)。最后,注意:"id"和"target"属性的用法,它俩是用来连接Processing脚本和相关的canvas的。

以上就是本文的全部内容,希望大家对Processing.js有所认识。

您可能感兴趣的文章:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂

    javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂

    2017-02-08 18:02

  • JavaScript 雷达

    JavaScript 雷达

    2017-02-04 17:00

  • Canvas Clock

    Canvas Clock

    2017-01-24 16:00

  • HTML canvas to blob to downloadable file in IE9, 10

    HTML canvas to blob to downloadable file in IE9, 10

    2017-01-20 10:00

网友点评