サイトトップ

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

HTML5テクニカルノート

EaselJS NEXT: Stage.drawRectプロパティ

ID: FN1406001 Technique: HTML5 and JavaScript Library: EaselJS NEXT

Stage.drawRectプロパティ
文法 Stageオブジェクト.drawRect
プロパティ値

Stageオブジェクトの更新範囲を示すRectangleオブジェクト。nullが与えられると、すべての範囲が更新される。


説明

Stage.update()メソッドが呼出されたとき、Stageオブジェクトが更新される矩形領域をRectangleオブジェクトで定めます。CanvasはStage.drawRectプロパティで定めた領域だけが描き替わります。デフォルト値はnullでCanvas上すべてが更新されます。


実装

本稿執筆時のビルド(2014年6月9日付)では、Stage.update()メソッドにつぎのようなStage.drawRectプロパティに関わる実装が加えられています。プロパティにRectangleオブジェクトが定められていると、まずその矩形領域だけをclearRect()メソッドで消去します(第392〜393行目)。つぎに、その矩形領域のパスをclip()メソッドで描画領域に定めています(第398〜400行目)。

  1. var r = this.drawRect, ctx = this.canvas.getContext("2d");
  1. if (this.autoClear) {
  2.   if (r) { ctx.clearRect(r.x, r.y, r.width, r.height); }
  3.   else { ctx.clearRect(0, 0, this.canvas.width+1, this.canvas.height+1); }
  4. }
  1. if (this.drawRect) {
  2.   ctx.beginPath();
  3.   ctx.rect(r.x, r.y, r.width, r.height);
  4.   ctx.clip();
  5. }


作成者: 野中文雄
作成日: 2014年6月30日


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