fading to grey... - Reply

new topic     » topic index » view thread      » older message » newer message

-- fade.ex
-- Jiri Babor
-- j.babor at gns.cri.nz

include graphics.e
include image.e      -- get_all_palette()
include get.e        -- get_key()

object junk
sequence s1,s2,s3
integer key

procedure fade(sequence s, integer steps, atom dt)
   -- change gradually current palette to palette described by
   -- rgb sequence s, in number of steps, over time interval dt
   sequence p,dp
   atom t
   dt=dt/steps
   p=get_all_palette()
   dp=(p-s)/steps
   t=time()
   for i=1 to steps-1 do
      p=p-dp
      while time()-t<dt do
      end while
      t=time()
      all_palette(p)
   end for
   all_palette(s)
end procedure

-- main ------------------------------------------------------------------------

tick_rate(100)             -- better time resolution
junk=graphics_mode(18)
s1=repeat({0,0,0},16)      -- starting -all black- palette
s2=get_all_palette()       -- save default palette

-- generate gray scale
s3={}
for i=1 to length(s2) do
   junk=s2[i][1]+s2[i][2]+s2[i][3]
   s3=append(s3,repeat(junk,3)/3)
end for

-- insert your own graphics here
puts(1,"press a key to continue..")
all_palette(s1)            -- start with all black palette
ellipse(14,1,{100,100},{500,300})

-- fade in from black to full color
fade(s2,50,2.00)
key=wait_key()
-- fade to gray
fade(s3,50,2.00)
key=wait_key()
-- fade out
fade(s1,50,2.00)

junk=graphics_mode(-1)

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu