我有一些Javascript代码可以在<canvas>
上绘制一堆星星,并使它们闪烁,但我的代码根本不起作用。
发生的情况是,所有的恒星都是在完全不透明度的情况下开始的(除了少数恒星会逐渐消失,然后保持完全不透明度)。我不知道为什么不透明度没有像我认为的那样在Star
类的incrementOpcity()
方法中编程。
我试着用一个物体来表示一颗恒星,但我不确定我是否正确地实现了它。我也不知道我是否使用错了<canvas>
上下文。
有人能告诉我到底出了什么问题吗?
代码可在此处找到
主要问题是,在没有移除旧框的情况下,绘制了彼此不透明度不同的框。结果,你最终看起来就像一个单独的白色盒子。。
你也有两个错误,我修复了。
您可以在此处查看我的更改:http://tinkerbin.com/ZfAxYXVs
这是一个更新的。
主要问题:
-
您需要清除画布,并在每帧中重新绘制黑色背景。
-
您正在访问
fillStyle
中的opacity
变量,该变量应为this.opacity
。 -
你的绑定检查不太有效。