Html5多边形相交判定,HTML5/SVG的多边形捕捉交互动效

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

var star = document.querySelector("#star");

var markerDef = document.querySelector("defs .marker");

var handleDef = document.querySelector("defs .handle");

var markerLayer = document.querySelector("#marker-layer");

var handleLayer = document.querySelector("#handle-layer");

var points = [];

var numPoints = star.points.numberOfItems;

for (var i = 0; i < numPoints; i++) {

var point = star.points.getItem(i);

points[i] = {

x: point.x,

y: point.y

};

createHandle(point);

}

TweenLite.set("#svg", {

autoAlpha: 1

});

function createHandle(point) {

var marker = createClone(markerDef, markerLayer, point);

var handle = createClone(handleDef, handleLayer, point);

var draggable = new Draggable(handle, {

bounds: window,

throwProps: true,

onDrag: moveAction,

onThrowUpdate: moveAction,

throwResistance: 5000,

liveSnap: {

point: points,

radius: 10

},

snap: {

point: points,

radius: 50

}

});

function moveAction() {

point.x = this.x;

point.y = this.y;

}

}

function createClone(node, parent, point) {

var element = node.cloneNode(true);

parent.appendChild(element);

TweenLite.set(element, {

x: point.x,

y: point.y

});

return element;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值