- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 StageXL 和 Dart 都比较陌生,而且我很难通过鼠标点击来改变 Sprite 的颜色。目前我只是引用 Sprite 并调用图形 fillColor() 方法但是没有任何改变。关于如何通过鼠标单击更改单个 Sprite 行的任何想法?
class GameBoard
{
Stage stage;
int xPos;
int yPos;
var circle;
var line;
GameBoard(Stage s)
{
this.stage = s;
this.xPos = 100;
this.yPos = 100;
this.circle = new Sprite();
this.line = new Sprite();
}
Sprite generateDots(int x, int y, int size)
{
circle.graphics.circle(x,y,size);
circle.graphics.fillColor(Color.Black);
circle.addEventListener(MouseEvent.CLICK, reactCircle);
return circle;
}
Sprite generateHorzLines(int x, int y)
{
line.graphics.beginPath();
line.graphics.moveTo(x, y);
line.graphics.lineTo(x+100, y);
line.graphics.closePath();
line.graphics.strokeColor(Color.Gray);
line.addEventListener(MouseEvent.CLICK, reactHorzLine);
return line;
}
Sprite generateVertLines(int x, int y)
{
line.graphics.beginPath();
line.graphics.moveTo(x, y);
line.graphics.lineTo(x, y+100);
// this.line.graphics.closePath();
line.graphics.strokeColor(Color.Gray);
line.addEventListener(MouseEvent.CLICK, reactVertLine);
return line;
}
void generateBoard()
{
for(int i = 0; i < 5;i++)
{
for(int j = 0; j< 5;j++)
{
//render horizontal lines
if(j < 4)
{
stage.addChild(generateHorzLines(xPos,yPos));
}
//render vertical lines
if(i<4)
{
stage.addChild(generateVertLines(xPos,yPos));
}
//render points
stage.addChild(generateDots(xPos,yPos,5));
xPos+=100;
}
yPos+=100;
xPos = 100;
}
}
void reactHorzLine(MouseEvent event)
{
line.graphics.fillColor(Color.Red);
}
void reactVertLine(MouseEvent event)
{
line.graphics.fillColor(Color.Green);
}
void reactCircle(MouseEvent event)
{
circle.graphics.fillColor(Color.Blue);
}
}
最佳答案
当前版本的 StageXL (0.12) 在使用 WebGL 渲染器时不支持矢量图形,仅支持 Canvas2D 渲染器。这将随着 WebGL 渲染器也支持矢量图形的下一个版本而改变。同时,您可以选择退出 WebGL 渲染器以使用 Canvas2D 渲染器。
// do this before you construct the Stage
StageXL.stageOptions.renderEngine = RenderEngine.Canvas2D;
关于Dart StageXL 鼠标单击时 Sprite 颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33750724/
使用GraphicsGradient创建的渐变似乎总是产生粉红色,没有实际的渐变。我已经从StageXL /example/example06/example06.dart复制了代码,将Transit
我试图设置一个任意颜色选择器来获取要传递给 Graphics.fillColor() 的值。 该方法的签名是“动态填充颜色(int color)”,因此颜色似乎不是 RGB/RGBA,而是某个整数。
我正在尝试在 Canvas 上创建一个使用 Dart 和 StageXL 对 MouseClick 事件使用react的框。我的代码如下: import 'dart:html' as html;
当我使用 StageXL 时,我收到此警告: Element 'MouseEvent' from SDK library 'html_dartium.dart' is implicitly hidde
是否可以为两个重叠的 Sprite 调用鼠标事件?我尝试使用 getObjectsUnderPoint但是它似乎不起作用。 class Line extends Sprite { int x;
我对 StageXL 和 Dart 都比较陌生,而且我很难通过鼠标点击来改变 Sprite 的颜色。目前我只是引用 Sprite 并调用图形 fillColor() 方法但是没有任何改变。关于如何通过
我是一名优秀的程序员,十分优秀!