Delta icon indicating copy to clipboard operation
Delta copied to clipboard

[question] does delta have a repeat function

Open lewislepton opened this issue 6 years ago • 2 comments

just as the title says, is there a way to do repeats, but not make multiple tweens that talk to each other

lewislepton avatar Feb 15 '19 17:02 lewislepton

Just so I understand your question correctly: You're asking if you can mark a sequence of tweens as loopable for N repetitions (or infinity)? In short, no. Delta currently works by creating linked lists of Tween actions that are consumed until empty, so once a set of commands have run the sequence is effectively destroyed.

One hacky way you can approximate this is by making a tween construction function that calls itself in an oncomplete handler:

	function oscillateFooForever(target){
		Delta.tween(target).prop("foo", 1.0, 1.0).prop("foo", 0.0, 1.0).onComplete(oscillateFooForever.bind(target));
	}

Ugh.

However finer lifecycle and progress control is something I'm very keen on adding. For instance being able to imagine a tween sequence as a timeline that can be scrubbed through is very desirable. With this you wouldn't even need a looping API: you could just stick an oncomplete handler at the end that reset the timeline progress.

I'll think about this over the weekend.

Sunjammer avatar Feb 21 '19 09:02 Sunjammer

coolio. cheers for that. I did try intertwining function with tweens, but repeats would possibly less on the code & much better. but thats great you're looking at additions ;)

lewislepton avatar Feb 21 '19 21:02 lewislepton