1

当我点击立方体的特定面时,我试图让一个“3d”立方体来听我的点击,但我一直收到错误消息。

代码:http: //jsfiddle.net/qa3P7/1/

在 winload 函数中,我添加了以下代码:

cube.object[0].click(function(){
    alert('test');
});

但它返回:Object #<Object> has no method 'click'

当我这样做时:cube.object[0],我确实得到了立方体的正确“面”:

cube.object[0]
Object
bl: Array[3]
br: Array[3]
c: "url("img/cube/bianco.jpg")"
clip: 123.18126918267271
id: "face_2"
normal: Array[2]
object: z
shadow: null
tl: Array[3]
tr: Array[3]
__proto__: Object

我对这一切都很陌生,经过数小时的尝试和研究,我被困住了。

4

1 回答 1

0

这是有问题的,因为立方体的每个可见面都在每一帧上重新绘制(请参阅drawFrame),并且.click()是 Raphael 路径的一种方法,在这种情况下称为face.object. 您可以尝试在每次重绘面部时重新分配点击处理程序,但我认为更好的方法是捕捉画布级别上的点击并手动识别光标下的面部。

于 2012-08-27T18:28:10.717 回答