サイトトップ

Director Flash 書籍 業務内容 プロフィール

HTML5テクニカルノート

EaselJS NEXT: StageGL()コンストラクタ


StageGLインスタンスは、WebGLに最適化された表示リストの最上位となるContainerオブジェクトです。これまでのStageに替えて、基本的に同じように使えます。ただし、WebGLの仕様にもとづく注意点はあります。

StageGL()コンストラクタ
文法 StageGL(canvas: HTMLCanvasElement | String | Object, options: Object): StageGL
概要

WebGLで描くStageGLインスタンスをつくって返す。

引数

canvas<canvas>要素の参照または要素のid属性を示す文字列。

options - つぎのようなオプションのプロパティを定めたオブジェクト。このオブジェクトそのものを含めて、いずれも省略して構わない。ブラウザによって対応しないオプションもある。

  • preserveBuffer: Boolean = false
    trueを与えると、Canvasは前の描画を残したまま重ねて領域を描く。塗り重ねる効果が得られる。その場合の負荷は高まる。
  • antialias: Boolean = false
    ブラウザのWebGLがアンチエイリアシングを行う(true)か行わないか(false)を定める。アンチエイリアシングはイメージを滑らかにするため、2の累乗サイズのテクスチャによる線形ピクセルサンプリングを用いる。
  • transparent: Boolean = false
    trueにするとCanvasが透過する。負荷は極めて高いので、気をつけて使うのがよい。
  • premultiply: Boolean = false
    色の扱いについて、trueにするとシェーダは先に乗算されたアルファを考慮するものとされる。他の素材とのハロー効果を避けることに役立つものの、別の素材と問題が起こることもある。
  • autoPurge: Integer = 1200
    使われていないテクスチャは、StageGL.purgeTextures()メソッドによりautoPurge / 2の描画更新時ごとに破棄される。

説明

StageGLインスタンスは、表示リストの最上位につくられるWebGLに最適化されたContainerオブジェクトです。Ticker.tickイベントStageGL()コンストラクタに渡した第1引数のCanvasオブジェクトが描き直されます。ただし、WebGLと互換性のない表示オブジェクトは描かれません。デバイスやブラウザがWebGLに対応していないときは、自動的に2Dレンダリングコンテキスト(CanvasRenderingContext2D)に描画されます。

つぎのコードは、StageGLインスタンスの子にBitmapオブジェクトを加え、Ticker.tickイベントで水平に動かします。


var stage = new createjs.StageGL('myCanvas');
var image = new createjs.Bitmap('image.png');
stage.addChild(image);
createjs.Ticker.addEventListener('tick', handleTick);
function handleTick(eventObject) {
	image.x += 10;
	stage.update();
}

[参考] 「CreateJS: StageGL ー EaselJSのWebGL対応が新たに」、「CreateJS次期バージョンのStageGLでStageを置き替える」。


作成者: 野中文雄
作成日: 2016年5月25日


Copyright © 2001-2017 Fumio Nonaka.  All rights reserved.