Difference between revisions of "Viewport"

From GiderosMobile
Line 4: Line 4:
 
=== Description ===
 
=== Description ===
 
A Viewport sprite allows to display another view of a tree hierarchy already on stage. Sprites can't have two parents, but thanks to Viewport you can display the same Sprite twice on the stage. Useful for split screen games, mini maps and so on.
 
A Viewport sprite allows to display another view of a tree hierarchy already on stage. Sprites can't have two parents, but thanks to Viewport you can display the same Sprite twice on the stage. Useful for split screen games, mini maps and so on.
 +
=== Examples ===
 +
'''Displaying same Bitmap in multiple views'''<br/>
 +
<source lang="lua">-- content we want to display in multiple views
 +
local content = Bitmap.new(Texture.new("ball.png"))
 +
 +
-- now setup view 1 as a 300x300 window
 +
view1=Viewport.new()
 +
view1:setClip(0,0,300,300)
 +
view1:setContent(content)
 +
 +
-- add some transformations, just to see the difference
 +
view1:setTransform(Matrix.new(1.7320507764816, -1.0000001192093, 1.0000001192093, 1.7320507764816, 50, 50))
 +
 +
-- add view to stage
 +
stage:addChild(view1)
 +
 +
 +
-- now setup view 2 as a 200x200 window
 +
view2=Viewport.new()
 +
view2:setClip(0,0,200,200)
 +
view2:setPosition(0,300) -- lower down the screen
 +
view2:setContent(content)
 +
 +
-- add some transformations, just to see the difference
 +
view2:setTransform(Matrix.new(0.32139378786087, -0.38302224874496, 0.38302224874496, 0.32139378786087, 30, 30))
 +
 +
-- add view to stage
 +
stage:addChild(view2)</source>
 
{|-
 
{|-
 
| style="width: 50%;"|
 
| style="width: 50%;"|

Revision as of 10:46, 23 August 2018

Supported platforms:
Available since: Gideros 2016.04

Description

A Viewport sprite allows to display another view of a tree hierarchy already on stage. Sprites can't have two parents, but thanks to Viewport you can display the same Sprite twice on the stage. Useful for split screen games, mini maps and so on.

Examples

Displaying same Bitmap in multiple views

-- content we want to display in multiple views
local content = Bitmap.new(Texture.new("ball.png"))

-- now setup view 1 as a 300x300 window
view1=Viewport.new()
view1:setClip(0,0,300,300)
view1:setContent(content)

-- add some transformations, just to see the difference
view1:setTransform(Matrix.new(1.7320507764816, -1.0000001192093, 1.0000001192093, 1.7320507764816, 50, 50))

-- add view to stage
stage:addChild(view1)


-- now setup view 2 as a 200x200 window
view2=Viewport.new()
view2:setClip(0,0,200,200)
view2:setPosition(0,300) -- lower down the screen
view2:setContent(content)

-- add some transformations, just to see the difference
view2:setTransform(Matrix.new(0.32139378786087, -0.38302224874496, 0.38302224874496, 0.32139378786087, 30, 30))

-- add view to stage
stage:addChild(view2)

Methods

Viewport:lookAngles -
Viewport:lookAt -
Viewport:setContent -
Viewport:setProjection - Specify a projection matrix to use when displaying the content.
Viewport:setTransform -

Events

Constants