<script type="text/paperscript" canvas="paper">
function onKeyDown(event) {
alert('key pressed');
function onFrame(event) {
console.log('frames running');
}
}
</script>
以下代码有效,但上述内容并非如此。为什么onFrame事件在用作语句时不会触发?
function onKeyDown(event) {
alert('key pressed');
view.onFrame = function(event) { //This line is makes a difference
console.log('frames running');
}
}
另外,在下面的代码中,如果我使用view.onFrame方法,圆圈会缩小,但在按下另一个键时会突然停止。
function onKeyDown(event) {
var circle = new Path.Circle((view.size * Point.random()), 50);
circle.fillColor = 'purple';
view.onFrame = function(event) {
circle.scale(.9);
}
}
答案 0 :(得分:1)
很抱歉,晚会很晚,因为我和你发帖的最后一部分有同样的问题,但我发现了。
在上一段代码中,使用circle.onFrame
代替view.onFrame
,以便创建的圈子继续制作动画,您仍然可以在每次onKeyDown
事件后创建新圈子。
至于第一部分,我不知道为什么,但在找到你的问题之前我也先尝试过,所以谢谢。