Re: Simple alpha fade
[email protected] ("Karl Dane")
| Newsgroups | perl.sdl.devel |
|---|---|
| Message-ID | <[email protected]> |
On 12 Sep 2006 11:43:25 +0200, Guillaume Cottenceau <[email protected]> wrote: > > "Karl Dane" <karl 'at' rince.net> writes: > > > Hi all, > > > > I'm trying to write a simple alpha cross-fade app: basically a slideshow > > that fades one image in and the other out. However, can not get alpha > fades > > to work. > > > > I'm very new to SDL, so please don't laugh at my code! But I'd be very > > grateful if anyone could point out where I'm going wrong. The code > snippet > > below results in the image being displayed without any change. > > > > Many thanks, > > > > Karl Dane > > > > > > #!/usr/bin/perl > > > > use warnings; > > use SDL::App; > > > > our $app = SDL::App->new( > > -width => 640, > > -height => 480, > > -depth => 24, > > -fullscreen => 0, > > ); > > > > for ($i=260; $i >=0; $i-=1) { > > print "$i\n"; > > > > my $img1 = SDL::Surface->new( -name => "./img1.png" ); > > > > $img1->display_format(); > > > > $img1->set_alpha(SDL_SRCALPHA, $i); > > /usr/include/SDL/SDL_video.h says for this method: > > * The 'alpha' parameter is ignored for surfaces that have an alpha > channel. > > One solution might be to remove the alpha by converting the > surface or creating a new surface with proper properties then > blitting the original surface to it. > > > $img1->blit( SDL::Rect->new( > > -width => 640, -height => 480), $app, undef); > > > > $app->sync; > > } > > -- > Guillaume Cottenceau > Create your personal SMS or WAP Service - visit http://mobilefriends.ch/ > Hi Guillaume - Thanks for your prompt reply. You mention converting the surface, I assume to remove the alpha channel. Any ideas how I'd go about doing this? Is there an appropriate method? -- rince.net ltd e. [email protected] w. http://rince.net m. 07885 040959 t. 01273 770008