commit
43469647fa
11
components/screensaver/Screensaver.brs
Normal file
11
components/screensaver/Screensaver.brs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
function init()
|
||||||
|
' backgroundUri must be set to an empty string before backgroundColor can be set
|
||||||
|
m.top.backgroundUri = ""
|
||||||
|
m.top.backgroundColor = &h000000
|
||||||
|
|
||||||
|
m.PosterOne = m.top.findNode("PosterOne")
|
||||||
|
m.PosterOne.uri = "pkg:/images/logo.png"
|
||||||
|
|
||||||
|
m.BounceAnimation = m.top.findNode("BounceAnimation")
|
||||||
|
m.BounceAnimation.control = "start" 'Start BounceAnimation
|
||||||
|
end function
|
143
components/screensaver/Screensaver.xml
Normal file
143
components/screensaver/Screensaver.xml
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component name="Screensaver" extends="Scene">
|
||||||
|
|
||||||
|
<script type="text/brightscript" uri = "Screensaver.brs"/>
|
||||||
|
|
||||||
|
<children>
|
||||||
|
|
||||||
|
<!-- Makes 2 Posters on top of each other -->
|
||||||
|
<Poster
|
||||||
|
id = "PosterOne"
|
||||||
|
width = "389"
|
||||||
|
height = "104"
|
||||||
|
opacity = "1"
|
||||||
|
translation = "[960,540]"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!--Gigantic loop for bouncing animation -->
|
||||||
|
|
||||||
|
<SequentialAnimation
|
||||||
|
id = "BounceAnimation"
|
||||||
|
repeat = "true"
|
||||||
|
>
|
||||||
|
<Animation
|
||||||
|
id = "AnimOne"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "7.2"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[960,540],[1500,250]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimTwo"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "4.5"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[1500,250],[1350,60]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimThree"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "16"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[1350,60],[200,890]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimFour"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "3.2"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[200,890],[30,750]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimFive"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "13.3"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[30,750],[1200,60]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimSix"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "6.7"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[1200,60],[1500,300]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimSeven"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "15"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[1500,300],[150,935]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimEight"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "2"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[150,935],[10,899.3]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
<Animation
|
||||||
|
id = "AnimNine"
|
||||||
|
repeat = "false"
|
||||||
|
easeFunction = "linear"
|
||||||
|
duration = "11"
|
||||||
|
>
|
||||||
|
<Vector2DFieldInterpolator
|
||||||
|
id = "OneInterp"
|
||||||
|
key = "[0.0,1.0]"
|
||||||
|
keyValue = "[[10,899.3],[960,540]]"
|
||||||
|
fieldToInterp = "PosterOne.translation"
|
||||||
|
/>
|
||||||
|
</Animation>
|
||||||
|
</SequentialAnimation>
|
||||||
|
|
||||||
|
</children>
|
||||||
|
</component>
|
|
@ -45,3 +45,24 @@ sub LoginFlow()
|
||||||
goto start_login
|
goto start_login
|
||||||
end if
|
end if
|
||||||
end sub
|
end sub
|
||||||
|
|
||||||
|
sub RunScreenSaver()
|
||||||
|
print "Starting screensaver..."
|
||||||
|
screen = createObject("roSGScreen")
|
||||||
|
m.port = createObject("roMessagePort")
|
||||||
|
screen.setMessagePort(m.port)
|
||||||
|
|
||||||
|
scene = screen.createScene("Screensaver")
|
||||||
|
screen.Show()
|
||||||
|
|
||||||
|
while(true)
|
||||||
|
msg = wait(8000, m.port)
|
||||||
|
if (msg <> invalid)
|
||||||
|
msgType = type(msg)
|
||||||
|
if msgType = "roSGScreenEvent"
|
||||||
|
if msg.isScreenClosed() then return
|
||||||
|
end if
|
||||||
|
end if
|
||||||
|
end while
|
||||||
|
|
||||||
|
end sub
|
Loading…
Reference in New Issue
Block a user