当我用新的 Kinetic.Stage 替换新的画廊时,代码可以正常工作当我使用驱动类时,它不起作用.
When I replace new Gallery with new Kinetic.Stage the code works properly When I work with the dirived class it does not work.
为什么从 Kinetic.Stage 派生的画廊类型是错误的?
Why is the kind of deriving Gallery from Kinetic.Stage wrong ?
width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0
height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0
class Gallery extends Kinetic.Stage
constructor: (config) ->
super(config)
window.onload = ->
list_of_photos = jQuery('#_image img')
x_pos = width/4
y_pos = height/4
stage = new Gallery
container: "gallery_container"
width: width
height: height
images_layer = new Kinetic.Layer()
for image in list_of_photos
imageObj = new Image()
imageObj.src = image.src
x_pos = x_pos + 100
y_pos = y_pos + 10
ori = new Kinetic.Image
x: x_pos
y: y_pos
image: imageObj
draggable: true
width: 200
height: 200
images_layer.add ori
stage.add images_layer
问题 - Kineticjs 对象与咖啡脚本类不兼容".
Problem - Kineticjs Objects are not "compatible" with coffeescript classes.
解决 - 你必须使用其他方式调用超级"
Solving - You have to use other way of calling "super"
class Gallery extends Kinetic.Stage
constructor : (config) ->
Kinetic.Stage.call(@, config)
此处的示例:http://jsfiddle.net/lavrton/w2EQD/4/
UPD:我发现这个问题只存在于构造函数"方法中.其他人也可以:
UPD: I found that this problem exists only for "constructor" method. Ok for others:
class Gallery extends Kinetic.Stage
constructor: (config) ->
Kinetic.Stage.call(@, config)
add : (item) ->
console.log(item)
super item
这篇关于咖啡脚本类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!