FinishBy() and QuitBy() commands.

Feature requests for future versions of Hollywood can be voiced here
Post Reply
Bugala
Posts: 1178
Joined: Sun Feb 14, 2010 7:11 pm

FinishBy() and QuitBy() commands.

Post by Bugala »

I am about to make start demo and inbetween levels demos to my game and I was starting to wonder wether to do them skippable or not and I got this idea for couple of commands.

These would work the following way:

Code: Select all

QuitBy("ESC")
Do stuff..
EndQuitBy()
Domore stuff..
If ESC would now be pressed at "Do Stuff.." point, it would simply quit hollywood program, if ESC would be pressed at "Do more stuff.." part, then it would do nothing, since QuitBy() command had been deactivated.

Code: Select all

FinishBy(1, "LeftMouseButton")

FinishSpotStart(1)
Do MoveLayer Stuff..
FinishSpotStop(1)

What this means is that at FinisBy("LeftMouseButton") Hollywood would know that when LeftMouseButton is being pressed, it would to the FinishBy thing.

Idea is that FinishSpotStart(1) would tell that from this on is supposed to be under the FinishBy command.

Suppose there would be 3 MoveLayer commands before FinishSpotStop(1) place.

Normally these MoveLayer commands would work so that first is first MoveLayer command executed and you can do nothing else but wait till the movement is done and then it moves to next MoveLayer command and same happens again - Wait till command is done.

However, if user would now push "LeftMouseButton" then hollywood woudl execute all the lines at once like they all had been executed till end.

So suppose first MoveLayer command woudl beexecuted halfway, then user presses LeftMouseButton, and all three layer go directly to the places they are supposed to be at end of MoveLayer command.


The reason for using FinishspotStart and Stop with numbers, is possiblity to have more than just one of them at once.


Example code:

Code: Select all

FinsihBy(1, "ESC")
FinishBy(2, "LeftMouseButton")

FinishSpotStart(2)

FinishSpotStart(1)
do Movelayers...
FinishSpotStop(1)

FinishSpotStart(1)
DoMore MoveLayerstuff...
FinsihSpotStop(1)

FinsihSpotStop(2)

Idea would be that this could be for example inbetween level animation. It could be for example that text comes to screen letter by letter.

If ou dont wish to wait that long, you could just click LeftMouseButton and text would get into its place immediatelly.

On the other han, if you dont wish to watch that thing at all, you could press ESC and it would skip the whole thing till end at once.


It would also be great if there would be some sort of possiblity to choose how the skip happens in way of:

Code: Select all

DefaulFinish(1):
program stuff like Fade Out.
EndDefaulFinish(1):
Now when ever the number 1 Finish thing is done, it would work by putting all the stuff to their end positions and then fade screen away.



So Andreas, is this doable to some extent?
User avatar
airsoftsoftwair
Posts: 5433
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: FinishBy() and QuitBy() commands.

Post by airsoftsoftwair »

That would be much too hacky, it doesn't really lead to code that is easily readable :) But you can solve your first problem using the EscapeQuit() and LeftMouseQuit() commands.
Post Reply