मुझे नहीं पता कि क्या आप कपड़े में निर्मित एनीमेशन फ़ंक्शन का उपयोग कर सकते हैं क्योंकि आप कहते हैं कि ये ऑब्जेक्ट्स स्वयं के चारों ओर घूम रहे हैं। लेकिन आप काफी आसानी से मैन्युअल रूप से गणित के एक बिट का उपयोग कर कुछ इस तरह बना सकते हैं:
आप इस समारोह के लिए 0 और 1. सही सूत्र के बीच एक लहर दोलन की तरह यह इलाज कर ऐसा कर सकता है:
- जब "कोण" 0, या 2π आयाम 0 है की एक बहु है, इसलिए गेंद object1 के केंद्र में है
- जब "आंग le "π का गुणज है, आयाम 1 है और गेंद object2 के केंद्र
- जब आयाम 0.5 है पर है, गेंद दो वस्तुओं
तुम बस कोण के आधार पर वृद्धि कर सकते हैं के बीच में है समय, जो भी अवधि, या अवधि आप चाहते हैं।
var animateBallBetweenObjects = function (obj1, obj2) {
// Add the "ball"
var circle = new fabric.Circle({
radius: 10,
fill: 'blue',
left: obj1.getCenterPoint().x,
top: obj1.getCenterPoint().y,
originX: 'center',
originY: 'middle',
selectable: false
});
canvas.add(circle);
var period = 1000;
var amplitude = 0;
var angle = 0;
var prevTime = Date.now();
var loop = function() {
// Calculate the new amplitude
var now = Date.now();
var elapsed = now - prevTime;
prevTime = now;
angle += Math.PI * (elapsed/(period * 0.5));
amplitude = 0.5 * (Math.sin(angle - (0.5 * Math.PI)) + 1);
// Set the new position
var obj1Center = obj1.getCenterPoint();
var obj2Center = obj2.getCenterPoint();
circle.setLeft(obj1Center.x + (amplitude * (obj2Center.x - obj1Center.x)));
circle.setTop(obj1Center.y + (amplitude * (obj2Center.y - obj1Center.y)));
canvas.renderAll();
requestAnimationFrame(loop);
}
// Animate as fast as possible
requestAnimationFrame(loop);
};
FIDDLE इसके साथ यहां।
स्रोत
2015-09-22 19:29:46
तो मूल रूप से कहें कि मैंने मूल आकार और बाल आकार बनाया है। मैं सोच रहा था कि एक एनीमेशन फ़ंक्शन बनाना संभव है जिसे हम माता-पिता और बच्चे का चयन करने के लिए कहेंगे। तो उदाहरण के लिए आपके पास कैनवास पर कई माता-पिता बच्चे हो सकते हैं और जब आप एनीमेशन बनाने पर क्लिक करते हैं तो आप निर्दिष्ट कर सकते हैं कि आप कौन सा मूल बच्चा एनीमेशन जोड़ना चाहते हैं। – user1010101
जो आपने पोस्ट किया था वह बहुत करीब है जो मैं ढूंढ रहा था। मैं इसके साथ थोड़ा सा खेलने के लिए जा रहा हूं और सुनिश्चित करता हूं कि मैं – user1010101
@ user1010101 मुझे यकीन नहीं है कि मैं आपका प्रश्न समझता हूं। क्या आप पूछ रहे हैं कि क्या आप एक समय में इनमें से एक से अधिक एनिमेशन प्राप्त कर सकते हैं? जवाब हां है, आप जितना चाहें उतने हो सकते हैं: https://mattharrison.s3.amazonaws.com/stackoverflow/animation.gif –