DrawGhostImage2()
Author: Jare
Added: 20. joulukuuta 2015 kello 21.43
Edited: 20. joulukuuta 2015 kello 22.08
Category: Grafiikka
Description
Korjaa DrawGhostImage-komennon bugin, joka jättää kuvan kokonaan piirtämättä, jos x- tai y-koordinaatti on 0, tai jos kuvan jokin reuna on piirtoalueen ulkopuolella (yleensä ikkunan).
Jos piirrät DrawGhostImage2:lla kuvan toisen kuvan sisälle (olet käyttänyt DrawToImage-komentoa), huomaa, että sinun täytyy silloin välittää valinnaisena parametrina funktiolle myös se kuva, johon ensimmäinen kuva piirretään, jotta funktio osaa pirtää kuvan oikeaan kuvaan, eikä piirrä sitä ruudulle! Sinun ei ole kuitenkaan pakko tässä tilanteessa kutsua DrawToImage-komentoa ennen tämän funktion käyttöä, koska funktio kutsuu sitä itse. Funktion päättyessä piirto on aina palautettu kuvaan, johon olit piirtämässä, tai ruudulle, jos et välittänyt funktiolle kuvaa, johon tulee piirtää.
Edit: transparency: 100 on täysin näkyvä, 0 näkymätön.
Code
Select all1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Function DrawGhostImage2(img, x,y, frame,transparency, draw_to_img=0)
If draw_to_img=0 Then buffer=SCREEN() Else buffer=Image(draw_to_img)
temp_image = MakeImage(ImageWidth(img)+1, ImageHeight(img)+1)
CopyBox x,y, ImageWidth(img), ImageHeight(img), 1,1, buffer, Image(temp_image)
DrawToImage temp_image
DrawGhostImage img, 1,1, frame,transparency
If buffer = SCREEN() Then
DrawToScreen
Else
DrawToImage draw_to_img
EndIf
DrawImage temp_image, x-1,y-1, 0,ON
DeleteImage temp_image
EndFunction
cow=LoadImage("media/cow.bmp")
Repeat
DrawGhostImage2(cow, 0,0, 0,50)
DrawScreen
Forever
|
Comments
No comments. You can be first!
Leave a comment
You must be logged in to comment.