HTML5画布矩形使用easeljs

HTML5 canvas rectangles using easeljs

本文关键字:easeljs 布矩形 HTML5      更新时间:2023-09-26

我正在画布上创建一个选择题测验。当然,对于选项,我使用方形作为复选框。现在我已经在单击复选框时设置了一个事件监听器,它应该会有颜色。然而,监听器不能处理整个正方形,只能处理边界。我想知道如何解决这个问题,我还想知道如何知道一个正方形是否填充了一种颜色。

从0,1,直到numberOfOptions加载oIndex选项的函数pHeight是一个全局变量,optionChecks(复选框)和optionsClick(用于点击

的不可见矩形)
 function loadOption(oIndex){
 optionChecks[oIndex] = new createjs.Shape();
 optionChecks[oIndex].graphics.beginStroke("blue");
 optionChecks[oIndex].graphics.setStrokeStyle(2);
 optionChecks[oIndex].graphics.drawRect( canvas2.width*0.05 ,pHeight+20 ,20 ,20);
 stage.addChild(optionChecks[oIndex] );
 stage.update();
 var y1 = pHeight+15;
 var ht = y1;
 var maxWidth = canvas2.width *0.8;
 var text = problemOptions[oIndex];
   var lineHeight = 25;
   var x = (canvas2.width - maxWidth) / 2;
   var y = y1;//pHeight+15;
 //function for wrapping text  
  wrapText(ctx2, text, x, y, maxWidth, lineHeight);
  ht = wHeight +10;
  stage.update();
 optionClicks[oIndex] = new createjs.Shape();
 optionClicks[oIndex].graphics.beginStroke("black");
 optionClicks[oIndex].graphics.setStrokeStyle(2);
 optionClicks[oIndex].graphics.drawRect( canvas2.width*0.05,y1,maxWidth-500 ,pHeight-y1+10);
 optionClicks[oIndex].addEventListener("click", handleOption); 
 stage.addChild(optionClicks[oIndex] );
 }

您可以绘制另一个不透明矩形,并使用按钮的hitArea - http://createjs.com/Docs/EaselJS/classes/DisplayObject.html#property_hitArea