-
Notifications
You must be signed in to change notification settings - Fork 69
Update FlashTransitionPainter.json #342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Added many new transitions and options. I want to discuss this design before putting more time into it.
I don't know if the Graphics mask handles shape opacity. Checking this could help to take a decision.
I think that shape painter based extensions should be either:
But, it should never calculate translations or rotations itself (unless it's on one part of the drawing). |
Yes, it handles opacity correctly. For instance, this is something I use for the halo of the draggable slider.
I agree 100%. For the slider/toggle/checkbox extensions, it makes sense to be relative to the shape painter's position. (I'm not certain if we force the object to use relative coordinates, but I think so) For this transition painter extension, I think it makes more sense to be absolute. All of the transitions are calculated to cover the entire size of the screen (currently using SceneWindowWidth, but I wonder if CameraWidth would be better since it includes zoom?). If we made this extension use relative positions, the game dev would need to place and keep the shape painter object in the center of the screen. If not, the transitions could look funny because they didn't cover the entire screen. Secondly, it would be annoying because the shape painter would always get in the way while using the scene editor. You could hide the layer, but I often forget to unhide it when I publish the game. Do you agree we should make this extension use absolute coordinates, and require the game dev to use a layer with default camera values? |
I meant when using the shape painter with the object mask extension to add a texture like the next scene 1st frame for instance.
I think that the behavior should uses the position action to center the object on screen instead of adding |
Oh, I have not tested that. I'm also not sure how you could render the next screen automatically?
What are the benefits of using your method? If we are going to move the object to always be in the center, why not just skip that step and use CameraX()? They have the same outcome but fewer steps. I'm also not sure how the animated thumbnail would work? |
I'm not sure. I wonder if we could cheat and:
Sorry, I misunderstood. I though you wanted to draw at the right place. Yes, I guess a still layer works too. In fact, it's letting the user positioning the shape painter (with a layer or a position) so our solutions are the same, I guess.
The extension user could change the dimensions either with properties of the behavior or the scaling action (but if the dimensions are always the window dimension, it needs a small calculus). |
By default they will use these values: Public parameters: xMin = 0 *Using SceneWindowWidth instead of CameraWidth should let users zoom out/in if they want (I think) Private parameters or shared functions: (I think these might be helpful, but I'm not certain if we should include them) TransitionWidth = xMax - xMin
|
|
I would like to suggest to add a new condition to the extension. |
|
This PR is looking dead, I'll close it, feel free to reopen if someone's getting back to it |
Added many new transitions and options. I want to discuss this design before putting more time into it.
Topics to discuss:
I left the existing special tweaks including:
There is some repeated code in the "Start transition..." actions for each animation.
Should this be refactored so that most of it is only written once? Or is it fine how it is?
Most of the animations require the camera to be at the default position (i.e. SceneWindowWidth()/2).
It makes sense for the transition layer to be on top of all other layers with nothing else on it, so we could just make this a requirement and tell the user not to move the camera (already mentioned in the description).
The alternative is to change everything to be based on the camera position (which is doable, but also a lot of work).
Playable game
https://games.gdevelop-app.com/game-1fb34c7b-1093-4c93-a253-17187b4e540f/index.html
Example game Project files
TransitionPainterExampleSourceFiles.zip
Video
https://twitter.com/VictrisGames/status/1483220151889629191