Hallo, Gast |
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.
|
Benutzer Online |
Momentan sind 66 Benutzer online » 0 Mitglieder » 65 Gäste Bing
|
Aktive Themen |
North Engine 2
Forum: Projects
Letzter Beitrag: HelmutH
10.09.2025, 21:59
» Antworten: 8
» Ansichten: 529
|
North Engine 1
Forum: Projects
Letzter Beitrag: HelmutH
10.09.2025, 20:19
» Antworten: 7
» Ansichten: 1.439
|
BlitzFonts ohne diskfont....
Forum: AB³ Development
Letzter Beitrag: hackball
28.08.2025, 20:31
» Antworten: 0
» Ansichten: 214
|
Amos2Blitz?
Forum: Showcase
Letzter Beitrag: hackball
24.08.2025, 20:01
» Antworten: 11
» Ansichten: 55.965
|
proBanking - Onlinebankin...
Forum: Projects
Letzter Beitrag: HelmutH
11.06.2025, 20:56
» Antworten: 5
» Ansichten: 26.462
|
proBonds - Finanzsoftware
Forum: Projects
Letzter Beitrag: HelmutH
11.06.2025, 20:53
» Antworten: 4
» Ansichten: 20.052
|
RedPill - Game Constructi...
Forum: Projects
Letzter Beitrag: HelmutH
09.06.2025, 19:55
» Antworten: 45
» Ansichten: 129.043
|
AmiBlitz 3.10.1 veröffent...
Forum: News
Letzter Beitrag: HelmutH
15.05.2025, 00:15
» Antworten: 1
» Ansichten: 2.161
|
Frohe Ostern!
Forum: Off Topic
Letzter Beitrag: HelmutH
30.04.2025, 00:49
» Antworten: 1
» Ansichten: 1.707
|
https://www.amiblitz.de
Forum: Off Topic
Letzter Beitrag: HelmutH
18.03.2025, 21:20
» Antworten: 5
» Ansichten: 4.119
|
|
|
Chunky Display |
Geschrieben von: hackball - 20.01.2024, 17:19 - Forum: Basics & Manual
- Keine Antworten
|
 |
Here a little demo that uses the Chunkylib.
It's not the most efficient way to do this but it will help setting up such a display i hope.
I left the comments in, no harms.
Code: ;test of new chunky commands
;(c)1997 by frank brandis
;
;as part of a demo written for software failure/airsoft
;SetErr:End:End SetErr
DEFTYPE.l
BitMap0,320,256,1
BitMap1,320,200,8
;LoadPalette1,"blitz2:execs/copplist.pal"
InitPalette1,256
Gosub setpal
InitCopList 1,144,100,$10008,8,256,-$f
InitChunky1,320,200,2
VWait50
BLITZ
Statement bmtochunk {t$,dx.w,dy.w}
BitMapOutput0
ln.w=Len(t$)*8
Locate 0,0:Print t$
Use BitMap0
For y=0To7
yy.w=y+y
For x=0To ln
If Point(x,y)
xx.w=x+x
GPlot 1,xx+dx+1,yy+dy+1,240
GPlot 1,xx+dx,yy+dy+1,240
GPlot 1,xx+dx+1,yy+dy,240
GPlot 1,xx+dx,yy+dy,240
EndIf
Next x
Next y
End Statement
CreateDisplay1
DisplayBitMap1,1
DisplayPalette1,1
Restore tdats
Read tanz.w
Dim t$(tanz)
For a=1To tanz
Read t$(a)
Next
Gosub dofire
BitMapOutput1
Colour100:Locate 0,0:Print "ready.click mouse."
MouseWait
End
NoCli:CloseEd
dofire:
max_=280:may=20
count.w=1
tn.w=1
fadedelay.w=40
Repeat
Gosub chtext
Gosub calcfire
ChunkyToBitMap1,1
Until tn>tanz AND count<=1
Return
.chtext
count.w-1
If count=0
bmtochunk {t$(tn),60,5}
count=fadedelay:tn+1
EndIf
Return
.calcfire
newc.l=0
For y=2To may-1
For x=20To max_-1
newc=GPoint(1,x,y-1)
newc+GPoint(1,x,y+1)
newc+GPoint(1,x-1,y)
newc+GPoint(1,x+1,y)
newc LSR 2
If newc<2 Then newc=0
GPlot 1,x,y,newc
Next x
Next y
Return
;
tdats:
Data.w 4
Data$ " HACKBALL"
Data$ " PRESENTS"
Data$ " A DEMO"
Data$ " CALLED"
Even
setpal:
Restore firepal
For a=0To255
Read rr.w,gg.w,bb.w
AGAPalRGB1,(255-a),rr,gg,bb
Next a
Return
firepal:
; Copperlist RamDisk:firepal1.bb - basic include file m1
; done with bb2 coped v1.8 (C)opyright 1996 by Frank Brandis
;Data.w 255 ; lines
; red , green , blue
Data.w 000,000,255
Data.w 000,012,255
Data.w 000,025,255
Data.w 000,038,255
Data.w 000,051,255
Data.w 000,063,255
Data.w 000,076,255
Data.w 000,089,255
Data.w 000,102,255
Data.w 000,114,255
Data.w 000,127,255
Data.w 000,140,255
Data.w 000,153,255
Data.w 000,165,255
Data.w 000,178,255
Data.w 000,191,255
Data.w 000,204,255
Data.w 000,216,255
Data.w 000,229,255
Data.w 000,242,255
Data.w 000,255,255
Data.w 025,255,229
Data.w 051,255,204
Data.w 076,255,178
Data.w 102,255,153
Data.w 127,255,127
Data.w 153,255,102
Data.w 178,255,076
Data.w 204,255,051
Data.w 229,255,025
Data.w 255,255,000
Data.w 255,251,000
Data.w 255,247,000
Data.w 255,244,000
Data.w 255,240,000
Data.w 255,236,000
Data.w 255,233,000
Data.w 255,229,000
Data.w 255,225,000
Data.w 255,222,000
Data.w 255,218,000
Data.w 255,214,000
Data.w 255,211,000
Data.w 255,207,000
Data.w 255,204,000
Data.w 255,200,000
Data.w 255,196,000
Data.w 255,193,000
Data.w 255,189,000
Data.w 255,185,000
Data.w 255,182,000
Data.w 255,178,000
Data.w 255,174,000
Data.w 255,171,000
Data.w 255,167,000
Data.w 255,163,000
Data.w 255,160,000
Data.w 255,156,000
Data.w 255,153,000
Data.w 255,149,000
Data.w 255,145,000
Data.w 255,142,000
Data.w 255,138,000
Data.w 255,134,000
Data.w 255,131,000
Data.w 255,127,000
Data.w 255,123,000
Data.w 255,120,000
Data.w 255,116,000
Data.w 255,112,000
Data.w 255,109,000
Data.w 255,105,000
Data.w 255,102,000
Data.w 255,098,000
Data.w 255,094,000
Data.w 255,091,000
Data.w 255,087,000
Data.w 255,083,000
Data.w 255,080,000
Data.w 255,076,000
Data.w 255,072,000
Data.w 255,069,000
Data.w 255,065,000
Data.w 255,061,000
Data.w 255,058,000
Data.w 255,054,000
Data.w 255,051,000
Data.w 255,047,000
Data.w 255,043,000
Data.w 255,040,000
Data.w 255,036,000
Data.w 255,032,000
Data.w 255,029,000
Data.w 255,025,000
Data.w 255,021,000
Data.w 255,018,000
Data.w 255,014,000
Data.w 255,010,000
Data.w 255,007,000
Data.w 255,003,000
Data.w 255,000,000
Data.w 253,000,000
Data.w 251,000,000
Data.w 250,000,000
Data.w 248,000,000
Data.w 246,000,000
Data.w 245,000,000
Data.w 243,000,000
Data.w 241,000,000
Data.w 240,000,000
Data.w 238,000,000
Data.w 236,000,000
Data.w 235,000,000
Data.w 233,000,000
Data.w 231,000,000
Data.w 230,000,000
Data.w 228,000,000
Data.w 227,000,000
Data.w 225,000,000
Data.w 223,000,000
Data.w 222,000,000
Data.w 220,000,000
Data.w 218,000,000
Data.w 217,000,000
Data.w 215,000,000
Data.w 213,000,000
Data.w 212,000,000
Data.w 210,000,000
Data.w 208,000,000
Data.w 207,000,000
Data.w 205,000,000
Data.w 204,000,000
Data.w 202,000,000
Data.w 200,000,000
Data.w 199,000,000
Data.w 197,000,000
Data.w 195,000,000
Data.w 194,000,000
Data.w 192,000,000
Data.w 190,000,000
Data.w 189,000,000
Data.w 187,000,000
Data.w 185,000,000
Data.w 184,000,000
Data.w 182,000,000
Data.w 180,000,000
Data.w 179,000,000
Data.w 177,000,000
Data.w 176,000,000
Data.w 174,000,000
Data.w 172,000,000
Data.w 171,000,000
Data.w 169,000,000
Data.w 167,000,000
Data.w 166,000,000
Data.w 164,000,000
Data.w 162,000,000
Data.w 161,000,000
Data.w 159,000,000
Data.w 157,000,000
Data.w 156,000,000
Data.w 154,000,000
Data.w 153,000,000
Data.w 151,000,000
Data.w 149,000,000
Data.w 148,000,000
Data.w 146,000,000
Data.w 144,000,000
Data.w 143,000,000
Data.w 141,000,000
Data.w 139,000,000
Data.w 138,000,000
Data.w 136,000,000
Data.w 134,000,000
Data.w 133,000,000
Data.w 131,000,000
Data.w 129,000,000
Data.w 128,000,000
Data.w 126,000,000
Data.w 125,000,000
Data.w 123,000,000
Data.w 121,000,000
Data.w 120,000,000
Data.w 118,000,000
Data.w 116,000,000
Data.w 115,000,000
Data.w 113,000,000
Data.w 111,000,000
Data.w 110,000,000
Data.w 108,000,000
Data.w 106,000,000
Data.w 105,000,000
Data.w 103,000,000
Data.w 102,000,000
Data.w 100,000,000
Data.w 098,000,000
Data.w 097,000,000
Data.w 095,000,000
Data.w 093,000,000
Data.w 092,000,000
Data.w 090,000,000
Data.w 088,000,000
Data.w 087,000,000
Data.w 085,000,000
Data.w 083,000,000
Data.w 082,000,000
Data.w 080,000,000
Data.w 078,000,000
Data.w 077,000,000
Data.w 075,000,000
Data.w 074,000,000
Data.w 072,000,000
Data.w 070,000,000
Data.w 069,000,000
Data.w 067,000,000
Data.w 065,000,000
Data.w 064,000,000
Data.w 062,000,000
Data.w 060,000,000
Data.w 059,000,000
Data.w 057,000,000
Data.w 055,000,000
Data.w 054,000,000
Data.w 052,000,000
Data.w 051,000,000
Data.w 049,000,000
Data.w 047,000,000
Data.w 046,000,000
Data.w 044,000,000
Data.w 042,000,000
Data.w 041,000,000
Data.w 039,000,000
Data.w 037,000,000
Data.w 036,000,000
Data.w 034,000,000
Data.w 032,000,000
Data.w 031,000,000
Data.w 029,000,000
Data.w 027,000,000
Data.w 026,000,000
Data.w 024,000,000
Data.w 023,000,000
Data.w 021,000,000
Data.w 019,000,000
Data.w 018,000,000
Data.w 016,000,000
Data.w 014,000,000
Data.w 013,000,000
Data.w 011,000,000
Data.w 009,000,000
Data.w 008,000,000
Data.w 006,000,000
Data.w 004,000,000
Data.w 003,000,000
Data.w 001,000,000
Data.w 000,000,000
Even
;
|
|
|
3d Vector Grafik |
Geschrieben von: xp^tsa - 07.01.2024, 17:35 - Forum: Questions & Answers
- Antworten (10)
|
 |
hallo,
hatte die tage mal ein anfall von nostalgie und habe mir
mal das amos3d von amospro wieder angesehen.
eigentlich schade, das ich damit nie was gebaut hab, scheint ziemlich schnell zu sein
frage: gibt es sowas auch für blitz2 oder amiblitz?
habe ja die 3d befehle gefunden, aber so vollkommen ohne beispiel
geht garnichts
hat jemand ein beispiel oder gibt es sogar eine bessere lib?
|
|
|
Ein paar Anfängerfragen |
Geschrieben von: dent - 25.10.2023, 20:39 - Forum: Questions & Answers
- Antworten (1)
|
 |
Hallo,
ich habe vor kurzem angefangen, mir AmiBlitz etwas anzuschauen.
Beim Beispiel-Programmieren sind einpaar Fragen aufgekommen, vielleicht kann mir jemand Hinweise dazu geben:
1. Text:
Es war relativ leicht, einen Screen zu öffnen und ein paar Dinge reinzuzeichnen, unter anderem Text:
Screen 0,12 ; 25
ScreensBitMap 0,0 ; 8 hires + 4 bitplanes = 16 colors
RGB 1,15,0,0
...
Locate 20,20
Print"hello"+Chr$(10)+" world", Rnd(8), " und ", Int(Rnd(8))
Gibt es eine einfache Möglichkeit, den Text Pixelgenau zu setzen (ich glaube es gab in der Graphics-Library eine
Text() Funktion, aber vielleicht komme ich ja drumherum, mit Libs zu hantieren ... zumindest am Anfang)
2. Mouse:
Gibt es eine einfache Methode, die aktuelle Mausposition und den Button-Status abzufragen (ohne Libs/Events)?
Wenn ich mich richtig zurückerinnere, köennte ich wahrscheinlich einfach ein bestimmtes Bit in 0xbfe001 für die
linke Maustaste abfragen oder so (wahrscheinlich gibts ein peek), aber wie sieht es mit den absoluten Maus-Koordinaten aus?
Ich will möglichst keine Gadgets dafür nutzen ...
3. Pointer auf Array of Struct (Newtype):
Für eine eigene Priority-Queue Implementierung habe ich mir ein Struct Array definiert:
NEWTYPE .prioqueue
map_2_info.w
v.w
End NEWTYPE
Dim pq.prioqueue(20)
pq(0)\v = 55
Wie genau beschaffe ich mir dadrauf einen Pointer, Dinge wie
*pqp.prioqueue = pq(20)
scheinen nicht zu funktionieren. Ich will einen Pointer auf solche Structuren und Struct-Arrays, damit
ich den Pointer dann später als Parameter an eine Assembler-Funktion übergeben kann ...
Außerdem:
Kann ich mir sicher sein, daß wenn ich es schaffe, einen Pointer darauf an eine Assembler-Funktion zu übergeben,
daß das Layout dann so ist, wie man es erwarten würde, also Pointer zeigt dann in dem Beispiel auf:
16 bit map info[0], 16 bit v[0], 16 bit map info[1], 16 bit v[1], ..., 16 bit map info[20], 16 bit v[20]
Ohne irgendwas anderes dazwischen? Ich muss ja in Assember den genauen Aufbau kennen, damit ich dann damit
hantieren kann/davon lesen und darein schreiben kann...
Falls nein, ist irgendwo dokumentiert, wie BlitzBasic die Strukturen und Structarrays genau im Speicher aufbaut?
Danke schon mal, viele Grüße
|
|
|
slice oder display |
Geschrieben von: xp^tsa - 11.07.2023, 00:28 - Forum: Questions & Answers
- Antworten (4)
|
 |
habe vor ein reines ocs spiel zu codern und
hab da mal ne frage
slice oder display lib ?
welche der beiden libs verkraftet mehr
farbregister änderungen?
die erweiterungen displayscroll und rainbow der displaylib
sind kein grund um sie zu benutzen, rainbow geht nicht
mit ecs und ner 256 color palette aus ppaint
und displayscroll ist irgendwie zu langsam.
(allerdings hab ich zufällig bei der aktion rausbekommen,
dass man bei der displaylib doch nur 3 lines platz zwischen
2 copperlists braucht, das war bei mir immer um 16 pixel verschoben,
und hatte immer knappo 10 zeilen platz gelassen,
ich bin bei ner festen scorebar nie auf die idee gekommen, das
scrolling flag zu setzen in initcopperlist lololol)
|
|
|
library erstellen |
Geschrieben von: xp^tsa - 06.07.2023, 15:31 - Forum: Questions & Answers
- Antworten (4)
|
 |
hi,
also erstmal, mit erstaunen und freude habe ich festgestellt, wie einfach man eine
library mit der include erstellen kann
dennoch habe ich 1,2 kleine startprobleme
wenn ich zb den befehl agapalrgb als lib funktion mappe
und diesen dann halt zb in purebasic aufrufe
zeigt mir das kompilat die falschen farben an
bei zb Plot x,y,colorid funktioniert es einwandfrei, egal ob intern die x,y oder die color variable ein long oder word ist
es muss daran liegen, dass nur longs übergeben werden
irgendwie bräuchte ich ne übersicht über die blitz2 befehle, welcher
datentyp übergeben wird, das steht nirgends , ausser bei ein paar befehlen, das es word oder quick ist
und frage 2, wie übergebe ich einen string , zb wenn ich zb LoadBitmap id, "name" mappen will
|
|
|
Barnsley fern fractal |
Geschrieben von: hackball - 26.02.2023, 17:16 - Forum: Snippets & Libraries
- Antworten (2)
|
 |
This is a fun to do fractal with lots of numbers to play with for diffferent results.
You can read more about the algorithm and example code here:
https://en.wikipedia.org/wiki/Barnsley_fern
This is a quick implementation in BlitzBasic.
Code: WbToScreen1
num.l=1000000 ;number of iterations
Window1,0,0,ScreenWidth,ScreenHeight,$140F,"Barnsley fern fractal. it="+Str$(num),2,1
ResetTimer
x.q = 0
y.q = 0
nextX.q = 0
nextY.q = 0
originX = ScreenWidth / 2
s = Min( ScreenWidth, ScreenHeight ) / 10
For i.l = 1 To num
a.q = Rnd
If a.q < 0.01
nextX.q = 0
nextY.q = 0.16 * y.q
Else
If a.q >= 0.01 AND a.q < 0.08
nextX.q = 0.2 * x.q - 0.26 * y.q
nextY.q = 0.23 * x.q + 0.22 * y.q + 1.6
Else
If a.q >= 0.08 AND a.q < 0.15
nextX.q = -0.15 * x.q + 0.28 * y.q
nextY.q = 0.26 * x.q + 0.24 * y.q + 0.44
Else
nextX.q = 0.85 * x.q + 0.04 * y.q
nextY.q = -0.04 * x.q + 0.85 * y.q + 1.6
EndIf
EndIf
EndIf
x.q = nextX.q
y.q = nextY.q
WPlot x.q * s + originX, y.q * s,1
Next
Print Ticks," ticks"
Repeat
Until WaitEvent=$200 ;windowclose
End
and this is how it looks like:
|
|
|
|