TileImageRect und TileBlockRect ?????
Übersicht

![]() |
BmsBetreff: TileImageRect und TileBlockRect ????? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hy.
Benötige ne Funktion(besser gesagt: 2 ) nämlich tileimagerect und tileblockrect.(gibts noch nich.) ich könnte natürlich auch das teilbild extra nehmen, aber - wieso nich mal kompliziert versuchen? ![]() mal ein ansatz: Code: [AUSKLAPPEN] function tileimagerect(bild,x,y) for a=0 to 640/imagewidth(bild) for b=0 to 480/imageheight(bild) drawimage bild,x+a,y+b next next end function aber wieso fungzionirt das nicht? ![]() ![]() ![]() thanxx for help. |
||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Was willste denn erreichen? Willst du ein bestimmtes Rechteck eines Bildes immer wieder über den ganzen Bildschirm zerstreuen? Wenn ja, isses irgendwie klar, das dein Code nicht funktioniert... grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wahrscheinlich siehst du jetzt nur ein einfarbiges Rechteck/Quadrat, richtig? Ich kenne das Problem.
In deinen Schleifen in denen du von 0 bis 640 bzw von 0 bis 480 gehst, musst du sprünge/steps einbauen. So malst du das Bild ja in Einerschritten immer wieder neu. Somit wird das bereits gezeichnete vom nächsten Bild wieder überdeckt. Versuche mal das Code: [AUSKLAPPEN] drawimage bild,x + (a *(640/imagewidth(Bild))), y + (b*(480/imageheight(bild))) |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Guckma, vielleicht hilfts dir ja: Code: [AUSKLAPPEN] Graphics 640, 480, 32 SetBuffer BackBuffer() Global img = LoadImage( "c:\TestBitmap.bmp" ) While Not KeyHit( 1 ) TileImageRect( img, 0, 0, 24, 24 ) Flip Cls Wend End Function TileImageRect( img, px, py, width, height ) Local maxX = ( 640 / width ) + 1 Local maxY = ( 480 / height ) + 1 For x = 0 To maxX For y = 0 To maxY DrawImageRect( img, x * width, y * width, px, py, width, height ) Next Next End Function grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
Bms |
![]() Antworten mit Zitat ![]() |
---|---|---|
@david:
es funktioniert !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! jer. ![]() ![]() ![]() ![]() ![]() |
||
![]() |
Bms |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab di function noch erweitert...
Code: [AUSKLAPPEN] Function TileImageRect( img, px, py, width, height,xx,yy ) Local maxX = ( 640 / width ) + 1 Local maxY = ( 480 / height ) + 1 For x = 0 To maxX For y = 0 To maxY DrawImageRect( img, x * width+xx, y * height+yy, px, py, width, height ) Next Next End Function ... sodass ich das scrollen kann. wenn aber xx und/oder yy ungleich 0 sind, dann entsteht ein nichtbedeckter rand. wie kann man das verhindern? |
||
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nun, soeine Function ist ja auch umgehbar:
Code: [AUSKLAPPEN] bild1 = LoadImage("Schopf Alk.bmp") bild2 = CreateImage(50,50) SetBuffer ImageBuffer(bild2) Cls DrawImageRect bild1,0,0,50,0,50,50 SetBuffer FrontBuffer() TileBlock bild2 WaitKey End |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
Bms |
![]() Antworten mit Zitat ![]() |
---|---|---|
und nochmal überarbeitet zeigt sich:
es geht!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() übrigens: 64 und 48 sind die tilegrößen( nicht dass noch jemand fragt ) Code: [AUSKLAPPEN] Function TileImageRect( img, px, py, width, height,xx,yy ) ;XX und YY (= offset für scrolling) überprüfen While xx<-64 xx=xx+64 Wend While xx>0 xx=xx-64 Wend While yy<-48 yy=yy+48 Wend While yy>0 yy=yy-48 Wend Local maxX = ( 640 / width ) + 2 Local maxY = ( 480 / height ) + 2 For x = 0 To maxX For y = 0 To maxY DrawImageRect( img, x * width+xx, y * height+yy, px, py, width, height ) Next Next End Function nun kann ich das auch scrollen ohne rand. ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group