Login Register
Frontpage Code library Pastebin

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 all
 1
 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.