I can’t post .blend file because it have 600mb :o.
# Main program
def main():
if GameLogic.game_type == 1:
# get current controller
controller = GameLogic.getCurrentController()
# get object the controller is connected to
obj = controller.owner
# get the size of the game screen
gameScreen = gameWindow()
# get player cameras
playerCams = playerCameras(obj)
# make player 1 camera the active camera
activeCamera(playerCams)
# set viewport size
viewportSize(gameScreen, playerCams, obj)
# use viewports
viewPorts(playerCams, obj)
#####################################################
# Game window
def gameWindow():
# import Rasterizer module
import Rasterizer
# get width and height of game window
width = Rasterizer.getWindowWidth()
height = Rasterizer.getWindowHeight()
# return game window size
return (width, height)
#####################################################
# Player cameras
def playerCameras(obj):
# get the current scene
scene = GameLogic.getCurrentScene()
# get list in objects in scene
objList = scene.objects
# get player cameras
player1 = objList["OBNivel1_Cam1"]
player2 = objList["OBNivel1_Cam2"]
# return player cameras
return (player1, player2)
#####################################################
# Active Camera
def activeCamera(playerCams):
# get current scene
scene = GameLogic.getCurrentScene()
# get player 1 camera
player1 = playerCams[0]
# make player 1 the active camera
scene.active_camera = player1
#####################################################
# Viewport size
def viewportSize(gameScreen, playerCams, obj):
import Rasterizer
width = Rasterizer.getWindowWidth()
height = Rasterizer.getWindowHeight()
# game window width & height
width = gameScreen[0]
height = gameScreen[1]
# player cameras
player1 = playerCams[0]
player2 = playerCams[1]
# Player 1 viewport: top half
left_1 = 0; bottom_1 = height/2; right_1 = width; top_1 = height
# Player 2 viewport: bottom half
left_2 = 0; bottom_2 = 0; right_2 = width; top_2 = height/2
# set player viewports
player1.setViewport( left_1, bottom_1, right_1, top_1)
player2.setViewport( left_2, bottom_2, right_2, top_2)
#############################################################
# enable viewports
def viewPorts(playerCams, obj):
# get player cameras
player1 = playerCams[0]
player2 = playerCams[1]
# use viewports
player1.useViewport = True
player2.useViewport = True
#############################################################
# Run Main Program
main()
this is my script.
i notice that if i change camera format to “PANO” it works for 2 players, but not for 1 player :no:.
i allready try to follow the number 12 line suggestion, but only get smallers viewport, one bigger and the other smallers but never at the same time the two viewports bigger.
Sorry about my English
Thank you
Ricardo Martins