lydialmz
(Lydia Lee)
November 11, 2018, 9:26am
1
Hi everyone~ I’m doing a game project now but with some troubles.
Here’s the demo: game.zip (240.8 KB)
I made 7 timelines, when I tap the butterfly1, the timeline"butter 1" is starting. The tap order is random because I couldn’t know which butterfly the users tap first.
I’d like to know how to do this : When the timeline “butter1”~ “butter6” were all finished (which means that all butterflies are fly out), then the timeline “result” will start.
I need your help~~~~Thank you very much!
h_classen
(Hans-Gerd Claßen)
November 11, 2018, 10:08am
2
you can attach this script at the end of each butterflytimeline:
if(hypeDocument.hasOwnProperty('customData') === false)
{
hypeDocument.customData = {};
};
if(hypeDocument.customData.hasOwnProperty('_butter') === false)
{
hypeDocument.customData._butter = [];
hypeDocument.customData.countOfTimelinesToBeFinished = 6;
};
hypeDocument.customData._butter.push(event.timelineName);
if(hypeDocument.customData._butter.length === hypeDocument.customData.countOfTimelinesToBeFinished-1){
hypeDocument.startTimelineNamed('result', hypeDocument.kDirectionForward)
}
2 Likes
MaxZieb
(Loves Hype)
November 11, 2018, 10:10am
3
@h_classen I solved it too
game_MaxZieb_1.hype.zip (289,2 KB)
Runnig this at the end of each timeline “checkEnd” …
var butter1 = hypeDocument.currentTimeInTimelineNamed('butter1') == hypeDocument.durationForTimelineNamed('butter1');
var butter2 = hypeDocument.currentTimeInTimelineNamed('butter2') == hypeDocument.durationForTimelineNamed('butter2');
var butter3 = hypeDocument.currentTimeInTimelineNamed('butter3') == hypeDocument.durationForTimelineNamed('butter3');
var butter4 = hypeDocument.currentTimeInTimelineNamed('butter4') == hypeDocument.durationForTimelineNamed('butter4');
var butter5 = hypeDocument.currentTimeInTimelineNamed('butter5') == hypeDocument.durationForTimelineNamed('butter5');
var butter6 = hypeDocument.currentTimeInTimelineNamed('butter6') == hypeDocument.durationForTimelineNamed('butter6');
if(butter1 && butter2 && butter3 && butter4 && butter5 && butter6){
hypeDocument.startTimelineNamed('result', hypeDocument.kDirectionForward)
}
lydialmz
(Lydia Lee)
November 11, 2018, 10:19am
5
Wow thank you all~!!! It’s wonderful, I can do other scenes now~
1 Like
lydialmz
(Lydia Lee)
November 11, 2018, 10:21am
6
Got it!! Thank you very much! You help me a lot!~~~
MaxZieb
(Loves Hype)
November 11, 2018, 10:22am
7
Here is a even smaller function …
var done = function(name) {
return hypeDocument.currentTimeInTimelineNamed(name)
== hypeDocument.durationForTimelineNamed(name);
}
if(done('butter1') && done('butter2') && done('butter3') &&
done('butter4') && done('butter5') && done('butter6')) {
hypeDocument.startTimelineNamed('result', hypeDocument.kDirectionForward)
}
1 Like
MaxZieb
(Loves Hype)
November 11, 2018, 10:38am
8
I like that customData
is already getting adopted (even before Hype 4). Nice°
lydialmz
(Lydia Lee)
November 11, 2018, 11:18am
9
It’s cool~ I try it and it’s great~~! It seems that I really need to learn about javascript more.
Thank you and @h_classen , you help me a lot!
1 Like