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.