hi, i have a question for a tutorial level i’m doing, here’s the scenario…
I have 1 scene which contains the stage itself that has planes that when the character collides an overlay scene will appear containing information (the tutorial).
So it works so far, but what i’m doing is having different overlay scenes for each information (ex. how to use ladder, how to walk, how to jump, etc…), with so many information and how to’s i want to show, I didn’t notice that my scene’s are piling up.
what i want do is just have one scene that contains all the information like a slide. and just have the camera move to the next slide.
How do I change the scene to the specific info i need to show?
also, is the camera’s position in the overlay scene saved? if i close the scene and add the same overlay scene again?
Well, if it was me doing it, I’ll add the info through text texture, or text meshes. So if player touches ladder, > add: T_Ladder_text via an empty. That way I would keep it simple! I mostly use overlay for Menu scenes!
Hope have helped!
well, but say you really need to access an object on another scene… does anyone know if it is already possible? I know you can access any object pointing to any object using
scene = GameLogic.getCurrentScene()
object = scene.objects[‘OBMyobject’]
but is it possible to call a handle for a diferent scene? something like
scene = GameLogic.getScene(‘OTHER_SCENE’)?
I’ve read somewhere this was beeing revised… but I cat’t find any references to it
Couldn’t you just set up every menu in the same pace in another scene, but turn their visibility on/off when the character nears certain objects or does certain things?
Well, in my case, I really need to get the handle for the diferent scenes, because I need to render diferent scenes to diferent textures using the videotexture module. the ting is the code just changed in version 2.49 and I can’t find proper documentation… I was hoping someone had tried that with success. Anyway, I’ll keep trying, and as on as I manage to do it, I’ll post again.
Thanks
If you need your overlay camera to be animated, animate it first, like 1 frame per message/postion.
Then in the main scene, make a system of messages, so that if the player touches an object, it sends a message to all.
According to the message, the camera will move to one side or the other.
I give you an example
thanks a lot for your answers, i’ve found a way on how to do it, thanks anyways for the ideas you suggested!
here’s a module i made for the tutorial stage that i made (thanks to your help of course! first time i used the worldPosition…)
My setup is i have 2 scenes, one is an overlay scene that contains planes that have information and empties which the camera has to move to, one contains the stage which has the character you control and planes that have a property containing the empty’s name the camera should move to in the overlay scene. when the player collides with the plane a script will execute.
import GameLogic as g
cont = g.getCurrentController()
gg = g.globalDict
def tut_empty(cont):
col_player = cont.sensors[‘col_player’]
if col_player.positive:
own = cont.owner
gg[‘tut_empty_name’] = own.empty_name
and when the overlay appears, the camera in the overlay will perform another script
def tut_cam(cont):
cam = cont.sensors[‘cam’]
if cam.positive:
own = cont.owner
scene = g.getCurrentScene()
List = scene.objects
own.worldPosition = List[gg[‘tut_empty_name’]].worldPosition
and that will move the camera instantly to the specific information i need, thanks a lot social!
if you think i can better optimize my script then please feel free to help me as well but for now it works good for me! thanks again!