Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
Moin,
gibt's das (oben gezeigte) in AmiBlitz?
Wenn nein: Warum nicht?
Beiträge: 666
Themen: 77
Registriert seit: Oct 2013
Bewertung:
0
hackball schrieb:Moin,
gibt's das (oben gezeigte) in AmiBlitz?
Du meinst sicherlich als Library oder Include oder ?
Soweit ich das sehe nicht, es gibt in der normalen graphics.lib AreaElipse_ AreaDraw_ usw...
Aber das wird wohl kaum dem entsprechen das du gemacht hast
Zitat:Wenn nein: Warum nicht?
Weil du es nicht machst
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
Blackbird schrieb:hackball schrieb:Moin,
gibt's das (oben gezeigte) in AmiBlitz? Du meinst sicherlich als Library oder Include oder ?
Soweit ich das sehe nicht, es gibt in der normalen graphics.lib AreaElipse_ AreaDraw_ usw...
Aber das wird wohl kaum dem entsprechen das du gemacht hast
Zitat:Wenn nein: Warum nicht?
Weil du es nicht machst
Hm, aber da müßte ich noch viel mehr machen, z.B. in Wanderers Includes wildern.... :lol:
Nee, dafür ist der o.g. Src ja jetzt frei, da könnt ihr das als Maintainer mal schön selbst einbauen. :mrgreen:
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
hackball schrieb:Ich glaube, ich weiß (wieder), warum es manchmal crasht. Die maximale Anzahl an Area-Steps wird nicht gecheckt. da müßte man einen Branch einbauen oder einen Fehler werfen.
Code: ...
LEA gfxbas(pc),a0
MOVE.l (a0),a6
LEA buff(pc),a0
MOVE.l (a0),a1
LEA areainf(pc),a0 ;eigene structur
MOVE.l #360,d0 ;<<<<< hard coded max steps for polygon !!!
JSR _initarea(a6) ;err.l=InitArea_(*ai.AreaInfo,&buff$,360)
...
*Edit: gfxbase könnte man auch direkt nach a6.... usw.
:roll: Mach ich dann mal, Sünden der Jugend usw.......
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
Ooops, muß ich erst mal wissen, was für Libnumbers noch frei sind.?
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
Hier ist noch ein simples Beispiel für diese Lib:
Code: ; please be sure `overflow errors` ore disabled !! thenkks !
;
; linepattern demo for the RayAreaLibrary (C) by Frank Brandis
;
;FindScreen0 ;getting first screen (ted)
Screen0,3
Window1,0,0,320,250,$140e,"RayAreaLib , PatternDemo",1,0
*rp=RastPort(1)
WJam0
; first,test some linepatterns
;the binary values are better than Hex or Decimal
;note: 1 is a point,0 not .
pt.w=%1111111100000000:LinePattern *rp,pt:Wline 20,30,200,30,1
pt.w=%1100110011001100:LinePattern *rp,pt:Wline 20,40,200,40,1
pt.w=%1111000011110000:LinePattern *rp,pt:Wline 20,50,200,50,1
pt.w=%1010101010101010:LinePattern *rp,pt:Wline 20,60,200,60,1
pt.w=%1100000011000000:LinePattern *rp,pt:Wline 20,70,200,70,1
pt.w=%0011110000110000:LinePattern *rp,pt:Wline 20,80,200,80,1
pt.w=%1111111111111111:LinePattern *rp,pt:Wline 20,90,200,90,1
;setting up a fillpattern
;usefull for Wbox,WCls etc. ( NOT for SetRast_*rp,pen !!)
Pattern *rp,$5555,$AAAA,$AAAA,$5555 ;rasters
WBox 20,100,300,130,1
Pattern *rp,$FFFF,$0000,$FFFF,$0000 ;Stripes
WBox 20,140,300,170,2
Pattern *rp,$FFFF,$FFFF,$FFFF,$FFFF ; full colour !!
WBox 20,180,300,210,3
Repeat:Until WaitEvent=$200
End ;end of line :)
NoCli
WBStartup
Maybe usefull, to anyone?
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
Hm, stellt euch mal vor, man würde das LinePattern ROL oder ROR verändern und dann ein Rechteck mit einem entsprechend unterbrochenem LinePattern zeichnen, solange man das Rechteck mit der Mouse zeichnet...
Auflösung....
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
BTW:
Die Library gibt es fertig hier (1.5kB):
*Edit: Libnr# ist 22, also DevBeta, nach meinem Katalog. Sorry.
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
Hier ein paar visuell ansprechendere Beispiele für Patterns, die man für das Füllen benutzen kann:
Na, überzeugt?
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
Ok.
Hier ist der Editor. Achtung!!! SEEEEEHHR ALT!! Classic, sozusagen. :roll:
Und der Code zum Laden der Patterns.
Code: NEWTYPE.lv
a.w
nam.s ;pattern name
patt.w[16] ;$0000,$7FFF usw.;4x4 gross
End NEWTYPE
Dim List pattlist.lv(30)
USEPATH pattlist()
DEFTYPE.w
Dim patt.w(16,16) ;malflaeche
....
.loadpatts
ResetList pattlist()
Gosub clearall
g$=ASLFileRequest$("name of file to load",pa$,fi$,"#?.patt",WindowX,WindowY,WindowWidth,WindowHeight)
If g$<>""
If ReadFile(0,g$)
FileInput0
If Inkey$(8)="BB^PATED" ;kennung ok
ClearList pattlist()
While NOT Eof(0)
If AddLast(pattlist())
\nam=Edit$(30)
For a=0To15
\patt[a]=Cvl(Inkey$(4))
Next
EndIf
Wend
CloseFile0
Else
CloseFile0
EasyRequest"pattern ed message:","file format not ok !"," ok "
EndIf
GTChangeList1,#liste
ResetList pattlist():numb=-1
GTChangeList1,#liste,pattlist()
Else
EasyRequest"pattern ed message:","file not found !"," ok "
EndIf
EndIf
Use Window1
Return
Und die Beispiel-Muster, zuguterletzt.
|