Is there a "good" way to do cutscenes?

For questions about using Classic.

Post » Sun Jul 25, 2010 3:29 am

See, my game is a 2D platformer, and since I'm relatively new at Construct, I don't have any idea how to make cutscenes. If there's an "easy" way, I'd like to know it first before getting into the tough intricate stuff. I have the unstable version (0.99.91) if that matters. All I'm really looking for at this point is "This character talks, then this character talks, then this character moves, repeat it a little, then it's over". I wish I knew how to do it myself but I don't really have any idea. :oops:
B
3
G
2
Posts: 17
Reputation: 759

Post » Sun Jul 25, 2010 9:20 am

[quote="Doomish":113bje9s]See, my game is a 2D platformer, and since I'm relatively new at Construct, I don't have any idea how to make cutscenes. If there's an "easy" way, I'd like to know it first before getting into the tough intricate stuff. I have the unstable version (0.99.91) if that matters. All I'm really looking for at this point is "This character talks, then this character talks, then this character moves, repeat it a little, then it's over". I wish I knew how to do it myself but I don't really have any idea. :oops:[/quote:113bje9s]

I just tackled something similar in nature myself, about a week ago. I ended up doing everything via an array, so that I could save and load files between it and an external editor.

Forgive the really rough pseudocode, but basically the logic is something like this:

* At the start of the layout:
- Load Array from the file
- Set the variable 'Step' to 0
- Call the "NextStep" function

* On timer "StepTimer"
- Call the "NextStep" function

* On function "NextStep"
- Add 1 to 'Step'
** If Array(Level#, 'Step', TimerSlot#) > 0
-- Start "StepTimer" with the value in Array(Level#, 'Step', TimerSlot#)

* Always:
- Write the text at Array(Level#, 'Step', TextSlot#) at speed Array(Level#, 'Step', TextSpeedSlot#)
- Display the appropriately numbered sprite found at Array(Level#, 'Step', BackgroundSlot#) and move it to the background area, and make all other sprites from the background category invisible
- Display the appropriately numbered sprite found at Array(Level#, 'Step', LeftPortraitSlot#) on the left side, and the same on the right but with RightPortraitSlot#, and make all other sprites from the portrait category invisible
- Play the sound effect, if any, defined at Array(Level#, 'Step', SoundSlot#)

* If Array(Level#, 'Step', TimerSlot#) = 0
- Prompt the player to push a button to continue
** On the push of that button, call the "NextStep" function

* If Array(Level#, 'Step', TimerSlot#) < 0
- Proceed to the next level


Anyway, I'm sure you could adapt this to your purposes. Just add more Z slots to your Array to do more things, and of course more X and more Y slots for levels and maximum steps per cutscene, respectively. Mine's presently at about 10X, 40Y, 8Z; it's much easier to handle with an external editor (or a dedicated layout), as you can probably imagine. I guess if you're strongly inclined, though, you could just set a whole mess of values by hand in an include sheet.
B
2
S
1
G
2
Posts: 48
Reputation: 896


Return to Help & Support using Construct Classic

Who is online

Users browsing this forum: No registered users and 1 guest