Is this a HyperPad limitation?
-
If I were to have an object with the behavior “hide graphic’. Start the scene, it will quickly show the object before it hides it. Basically hyperPad renders the objects first before reading the code. This is regardless if preload scene is on. The only way to combat this is to hide the actual layer. My question is, is this a hyperPad limitation where there is no way around this? Is this present on other game engines? The fix I have for this was suggested from another post of mine where I basically put a blank screen overlay and fade it out. This works but It kind of a hassle to implement this code to every scene I create. If this is indeed a hyperPad limitation is there a way to build a preloaded scene effect at the start of each scene play? This can open the door to use custom scene transition effects.
-
Basically, by the time the behaviour starts, the scene has already started, which means the graphic is visible. THEN the behaviour is executed and it hides.
What you can do is change the objects opacity, then use the set colour, to make it visible again.
I'll see if we can get a show/hide toggle added to object properties for the upcoming update.
-
I imagine this problem is a thing on other game engines but maybe they provide things like the toggle Murtaza suggested to get around it. Sounds pretty cool, I've gotten used to having lots of invisible objects in my projects 😛
-
@SplitMindGaming Also, if you don't want to code it for every scene, place a big black object on the global UI layer, that way it'll activate its code on every scene and block everything. Only problem here is you'll have to hide the layer whenever you work on the project, or move the black object when you want to work on the global UI if you have stuff there.
-
@Aidan-Oxley thanks I didn’t think to put it in a global layer. That should do the trick for now.
-
@Murtaza is there a way to have it as a default where it automatically hides all the objects first until it reads the behaviors so this way it renders the scene properly? Or even a setting under global settings maybe. I cant think of any games that are made that would benefit from the player starting the scene showing the objects first then reading the code last. Makes more sense for this to happen in the background giving the illusion hyperpad is reading the code first then rendering the objects. I dont know i think you guys can most likely come up with a smarter approach then what im suggesting.
-
I was thinking just have a toggle switch or button on the object properties that would make the specific object not visible. Similar to how show/hide layer works.
-
@Murtaza but by doing that wouldnt we still have to enable it to show object after the screen loads? If thats the route you want to take please also have it so it can be enabled via tags. I have a level thats going to be dealing with tilesets.
-
No, unless I'm not understanding you correctly.
In the editor you say hide tree
When game starts, tree is hidden by default (no flash of visible first).In editor you leave object as it is, it works like it does now. Object is visible when scene starts.
If for some reason you want the default state to be visible, but hide when scene starts then you would need to find some other way to do it as that would put it back in the current situation.
-
@Murtaza ok yes I understand now. That would be perfect.