|
11 | 11 | m.user = m.top.findNode("username") |
12 | 12 | m.userGroup = m.top.findNode("userGroup") |
13 | 13 | m.clock = m.top.findNode("clock") |
14 | | - m.slideDownAnimation = m.top.findNode("slideDown") |
15 | | - m.slideUpAnimation = m.top.findNode("slideUp") |
| 14 | + |
| 15 | + ' Create animations programmatically to avoid interpolator field reference issues |
| 16 | + createSlideAnimations() |
| 17 | +end sub |
| 18 | + |
| 19 | +' Create slide animations programmatically |
| 20 | +sub createSlideAnimations() |
| 21 | + ' Create slide up animation |
| 22 | + m.slideUpAnimation = createObject("roSGNode", "Animation") |
| 23 | + m.slideUpAnimation.id = "slideUp" |
| 24 | + m.slideUpAnimation.duration = 0.5 |
| 25 | + m.slideUpAnimation.repeat = false |
| 26 | + |
| 27 | + slideUpInterpolator = createObject("roSGNode", "Vector2DFieldInterpolator") |
| 28 | + slideUpInterpolator.key = [0.0, 0.5] |
| 29 | + slideUpInterpolator.keyValue = [[0, 0], [0, -200]] |
| 30 | + slideUpInterpolator.fieldToInterp = m.top.id + ".translation" |
| 31 | + |
| 32 | + m.slideUpAnimation.appendChild(slideUpInterpolator) |
| 33 | + m.top.appendChild(m.slideUpAnimation) |
| 34 | + |
| 35 | + ' Create slide down animation |
| 36 | + m.slideDownAnimation = createObject("roSGNode", "Animation") |
| 37 | + m.slideDownAnimation.id = "slideDown" |
| 38 | + m.slideDownAnimation.duration = 0.5 |
| 39 | + m.slideDownAnimation.delay = 0.2 |
| 40 | + m.slideDownAnimation.repeat = false |
| 41 | + |
| 42 | + slideDownInterpolator = createObject("roSGNode", "Vector2DFieldInterpolator") |
| 43 | + slideDownInterpolator.key = [0.0, 0.5] |
| 44 | + slideDownInterpolator.keyValue = [[0, -200], [0, 0]] |
| 45 | + slideDownInterpolator.fieldToInterp = m.top.id + ".translation" |
| 46 | + |
| 47 | + m.slideDownAnimation.appendChild(slideDownInterpolator) |
| 48 | + m.top.appendChild(m.slideDownAnimation) |
16 | 49 | end sub |
17 | 50 |
|
18 | 51 | sub isVisibleChanged() |
|
0 commit comments