home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 10 / AU_CD10.iso / Archived / Updates / Flash / writeflash / Examples / big_one next >
Text File  |  2000-04-25  |  4KB  |  241 lines

  1.  
  2. // include various stuff
  3.  
  4. #include FlashFonts:IDs
  5. #include FlashFonts:Halvett.Medium
  6.  
  7. #include FlashLibrary:Colours
  8.  
  9. #define SHOW  ShowFrame { }
  10.  
  11. //#define DEBUGGING
  12.  
  13. // header info
  14. FileVersion 1
  15.  
  16. FrameArea {
  17.   width  5400
  18.   height 3000
  19. }
  20.  
  21. FrameRate 15.0
  22.  
  23. BgColour WHITE
  24.  
  25. #ifndef DEBUGGING
  26. // --- INTRO --------------------------------
  27. // define a box that fills the entire screen
  28. Shape {
  29.   id 1
  30.   fillstyle { solid BLACK }   // fillstyle #1
  31.   selectfillstyle0 1
  32.   lineby { 0 3000 }
  33.   lineby { 6000 0 }
  34.   lineby { 0 -3020 }
  35.   lineby { -6000 0 }
  36. }
  37.  
  38. // put the box on the screen
  39. Place {
  40.   id 1
  41.   depth 100
  42.   matrix { 65536 0 0 }
  43. }
  44. SHOW
  45.  
  46. // fade in from black to white using a cxform
  47. :for i = 1 to 15
  48.   Place {
  49.     depth 100
  50.     cxform { 255 255 255 255 16*i 16*i 16*i 0 }
  51.   }
  52.  
  53.   SHOW
  54. :next
  55.  
  56.  
  57. // write some text
  58. Text {
  59.   id 2
  60.   style {
  61.     font HALVETT_MEDIUM
  62.     size 1050
  63.     colour BLACK
  64.   }
  65.   text "writeflash"
  66. }
  67.  
  68. // fade the text in from white to black
  69. :for i = 1 to 15
  70.   Place {
  71. :if i==1
  72.     id 2
  73. :endif
  74.     matrix { 65536 160 600 }
  75.     depth 110
  76.     cxform { 255 255 255 0 0 0 0 16*i+15 }
  77.   }
  78.  
  79.   SHOW
  80. :next
  81.  
  82. // wait a second or so
  83. :for i = 0 to 8
  84.   SHOW
  85. :next
  86.  
  87. // more text
  88. Text {
  89.   id 3
  90.   style {
  91.     font HALVETT_MEDIUM
  92.     size 232
  93.     colour GREY3
  94.   }
  95.   text "A program by Henrik Bjerregaard Pedersen"
  96. }
  97.  
  98. Place {
  99.   id 3
  100.   depth 120
  101.   matrix { 65536 100 1700 }
  102. }
  103.  
  104. SHOW
  105.  
  106. // --- END OF INTRO --------------------------
  107. // --- CLEAR THE SCREEN ----------------------
  108.  
  109. // wait a few seconds
  110. :for i = 0 to 30
  111.   SHOW
  112. :next
  113.  
  114. // remove my name...
  115. Remove { depth 120 }
  116.  
  117. // wait a little while... again...
  118. :for i = 0 to 5
  119.   SHOW
  120. :next
  121.  
  122. // zoom in on the 'writeflash' text, whilst
  123. // fading it out
  124. :for i = 0 to 9
  125.   Place {
  126.     depth 110
  127.     cxform { 255 255 255 0 0 0 0 25*(9-i)+31 }
  128.     matrix { 65536*(i+1) 500-2000*i 600-300*i }
  129.   }
  130. SHOW
  131. :next
  132.  
  133. Remove { depth 110 }
  134.  
  135. SHOW
  136.  
  137. // --- THE SCREEN IS CLEARED -----------------
  138. #endif
  139. // --- MAKE BUTTON ---------------------------
  140.  
  141. // more text - this will be used as a link to
  142. // my homepage
  143. Text {
  144.   id 4
  145.   style {
  146.     font HALVETT_MEDIUM
  147.     size 300
  148.     colour RED
  149.   }
  150.   text "My homepage"
  151. }
  152.  
  153. Text {
  154.   id 7
  155.   style {
  156.     font HALVETT_MEDIUM
  157.     size 300
  158.     colour BLUE
  159.   }
  160.   text "My homepage"
  161. }
  162.  
  163. // the active area of a button defaults to the
  164. // same as the 'up' of the button, but when this
  165. // is text, it can sometimes be difficult to
  166. // hit the active area, as this is then only the
  167. // filled part of the letters; therefore, we
  168. // create a shape covering approx. the same area
  169. // as the text, and use the for the active area
  170. Shape {
  171.   id 5
  172.   moveto { 0 500 }
  173.   lineby { 2200 0 }
  174.   lineby { 0 -500 }
  175.   lineby { -2200 0 }
  176.   lineby { 0 500 }
  177. }
  178.  
  179. Button {
  180.   id 6
  181.   up { id 4 depth 40001 }
  182.   over { id 7 depth 40001 }
  183.   activearea { id 5 depth 40001 }
  184.   actions {
  185.     geturl {
  186.       url "http://login.dknet.dk/~henrik"
  187.       target "__new"
  188.     }
  189.   }
  190. }
  191.  
  192. // put the button on the screen; depth is set
  193. // to something very high, to make sure the
  194. // button is always visible...
  195. Place {
  196.   id 6
  197.   depth 40000
  198.   matrix { 65536 2800 2500 }
  199. }
  200.  
  201. SHOW
  202.  
  203. // ------------------------------------------
  204.  
  205. // a black square
  206. // centered around 0,0 to make rotation easier
  207. Shape {
  208.   id 8
  209.   fillstyle { solid BLACK }
  210.   selectfillstyle0 1
  211.   moveto { -500 -500 }
  212.   lineby { 1000 0 }
  213.   lineby { 0 1000 }
  214.   lineby { -1000 0 }
  215.   lineby { 0 -1000 }
  216. }
  217.  
  218. :var scale, cx, cs, sn
  219. :for i = 0 to 35
  220.   Place {
  221. :if i == 0
  222.     id 8
  223. :endif
  224.     depth 200
  225. :scale = 6000*(i*i/15+1)
  226. :cs = scale*cos(i*30/100)
  227. :sn = scale*sin(i*30/100)
  228.     matrix { cs cs -sn sn 2700 1500 }
  229. :if i > 25
  230. :cx = (i-25)*25
  231.     cxform { 255 255 255 255 cx cx cx 0 }
  232. :endif
  233.   }
  234.   SHOW
  235. :next
  236.  
  237. Remove { depth 200 }
  238. SHOW
  239.  
  240. // ---- WHAT NOW ?? --------------------------
  241.