ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Welches Basic??? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
1 -2- 3 4 | [ - Beitrag schreiben - ] |
09.05.2007, 13:19 Uhr Honitos Posts: 200 Nutzer |
Wie auch immer, auf amiforce wird versucht, jedem beim Umstieg zu helfen. Grade mit menschlicher Hilfe sollte es ziemlich leicht fallen. Zumal man bei AmiBlitz gerade z.Zt. die Möglichkeit hat, eigene Wünsche bzgl. der IDE oder des Compilers einzubringen. [ - Antworten - Zitieren - Direktlink - ] |
09.05.2007, 15:05 Uhr Der_Wanderer Posts: 1229 Nutzer |
Also der Syntax Unterschied ist jetzt nicht sooooo groß zwischen MBasic und Amiblitz.code:Dim x.l(10,10) x(0,0) = 12345 b$ = "12345abcde" a$ = Left$(b$,5) Print "String: ",a$," Zahl: ",x(0,0) End Ist das wirkilch so anders ? Und vor allem, nur weil es anders ist bedeutet nicht, dass es komplizierter ist. Dank einiger Konstrukte, gerade wenn es um Strukturen geht, dürfe der Amiblitz Code wesentlich übersichtlicher aussehen. Im Prinzip ist doch alles gleich, du musst dir nur merken, ob es nun runde, geschweifte oder eckige Klammern sind. Der Screenshot ist von einer Demo Map von dem Mapeditor. Damit lassen sich leicht alle möglichen map-basierten Spiele machen, von PacMan über Aufbau-Strategie bis zum RPG. Die gesamte GFX Engine wird für dich übernommen und läuft auf einen Aufruf hinaus "map_Render{map,rp,x,y,w,h}", der dir jeden beliebigen Ausschnitt der Map in einen RastPort rendert. Objekte, die mit Map Objekten interagieren, kann man mit Befehlen steuern, z.B. "map_MoveObject{map,objectID,x,y,z}" und lässt sich den getrasheten Bildauschnit neu zeichnen. Wenn man genau hinguckt, sieht man auch dass z.B. die Figur oder die Bäume Anti-Aliased sind, also keine Bitmaske. Das wirst du in MBasic aus Speedgründen nicht hinbekommen. So eine Map läuft auf meinem Laptop unter WinUAE mit mehr als 100FPS, also noch ausreichend Power übrig für KI und bewegte Objekte. Mit der dbl_display.inlucde gibts dann noch ein Double Buffer Display dazu, damit auch nichts flackert. Per ahi_device.inlcude noch eine mp3 Musik oder ein MOD dazu streamen (ahi_OpenStream{"dh0:sfx/gamemusic.mp3"}) und ein paar sounds abspielen, und fertig ist quasi das Game. Einfacher gehts nur mit einem Game Construction Kit, aber da fehlt es an Flexibilität. @Ralf: Ich weiss nicht was daran so schwierig sein soll. Ich hab jetzt einige Beispiele gepostet. Ist das etwa kompliziert ? Wie würde das in MBasic aussehen, wenn du jetzt loslegen würdest ? Sagen wir eine .wav reinladen und abspielen (AHI) ? -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ Dieser Beitrag wurde von Der_Wanderer am 2007-05-09 um 15:20 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
09.05.2007, 21:30 Uhr NoImag Posts: 1050 Nutzer |
@Ralf27: Wenn Dir AmiBlitz nicht behagt, dann kannst Du Dir ja auch mal http://m2amiga.claudio.ch/ angucken. Die vielen Befehle in AmiBlitz, die das Leben einfacher machen, hast Du da aber natürlich genauso wenig wie in C. Tschüß [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 10:48 Uhr Der_Wanderer Posts: 1229 Nutzer |
Modula2 ? Eeeeeek! BTW, habe ihr nicht bemerkt dass AlexanderK sich nicht mehr meldet ? Evtl. ein Troll, der sich jetzt über die Diskussion tot lacht? -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 11:00 Uhr Holger Posts: 8116 Nutzer |
Zitat: Glaub ich kaum. Nehmen wir doch das beste an, dass er sich jetzt für einen Basic-Dialekt entschieden hat, und nicht mehr postet, weil er fleißig am Programmieren ist C hat er dann wohl wieder aufgegeben... http://www.amiga-news.de/forum/thread.php?id=17844&BoardID=7 mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 20:09 Uhr Ralf27 Posts: 2779 Nutzer |
Mir ist schon klar das AmiBlitz mächtiger ist. Da brauch ich auch nicht immer wieder neue Beispiele dafür. Ich finde es aber auch schade das man für AmiBlitz unbedingt eine Grafikkarte braucht und mein kleiner hat keine. Ok, hab noch einen großen A1200 mit Grafikkarte, aber irgendwie bin ich lieber am kleinen und da schreib ich auch meine Programme. Muß mir das ganze halt auch nochmal am großen ansehn. Der Anfang ist ja bekanntlich das schwerste. PS: Wegen dem WAV-Soundbeispiel: Ich würde da einfach die Datatypes nehmen und fertig. Ok, ist etwas mehr Aufwand, aber im Endeffekt nur unwesentlich. Sieht halt genauso aus wie in C. Jo, mir ist schon klar das es noch andere Beispiele gibt bei dennen es noch extremer ist, ist mir schon klar. Kurzes Beispiel für "Play": code:--TAGLIST tagsl&, DTM_TRIGGER&, TRUE&, STM_PLAY&, TRUE&, TAG_END& ok=DoDTMethodA(o&,0,0,tagsl&) http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 20:27 Uhr Holger Posts: 8116 Nutzer |
Zitat: Du hast das Einladen und wieder Freigeben vergessen. Außerdem hat MBasic ja die geniale Eigenschaft, dass Du selber daran denken musst, den Speicher für TagList, die Du so munter nach tagsl& schreibst, zu belegen. Fehlt hier auch noch... mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 20:48 Uhr Blackbird Posts: 634 Nutzer |
@Ralf27: Das AB2 mit deinem Amiga ohne Graka nicht funktioniert verstehe ich immer noch nicht... BB2 lief doch damals auch ohne Graka im PAL-Modi... Einzige "Grundvorraussetzung" wäre eine FPU. Bei den ersten Distris hatte ich auch immer das Problem das zuallererst ein PAL-modi aufgerufen wurde (OS4/MOS) Welche Distris hast du denn bis jetzt ausprobiert ? Oder....mal ganz anders das Problem angegangen.... Auf back2Roots gab es mal die UltimateBlitzCD (ca 40MB). Da war auch BB2 mit drauf. Du könntest also mal hergehen, und das installieren und testen...Läuft es dann, ist es ein Fehler in Ab2, läuft es nicht, liegts an deinem Gerät Zumindest wärst du dann schonmal besser dran als mit MaxonBasic -- regards Blackbird Have a look at: http://www.blackbird-net.de Skins for PlayCD OS3.9 BlackShoot, Zombies Apocalypse, GalagaWars, VcdImager-Gui,PerfectPaint [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 21:17 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:BB2 läuft hier ja auch. Nur ist AmiBlitz kein BB2 mehr. Der Editor braucht cybergraphx und da der Compiler und der Editor ist ein... Zitat: Mir ist schon klar das MBasic wohl die schlechteste Wahl ist. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 21:18 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Also, vergessen hab ich das nicht. Hab hier extra geschrieben das das nur die Playroutine ist. Genaugenommen hab ich hier keine Include, kein Laden und kein Freigeben. Komplett wäre das natürlich länger. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 22:06 Uhr Ralf27 Posts: 2779 Nutzer |
Hab mir eben nochmal AmiBlitz auf dem großen A1200 mit Grafikkarte angesehn. Dort läuft es. Ist für mich auch irgendwie eine Umstellung in Sachen "Bunt". Für micht sieht das jetzt irgendwie ganz anderst aus als MBasic. Jetzt muß ich nur noch das ganze irgendwie verstehn und ich bin ein gutes Stück weiter. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
10.05.2007, 22:40 Uhr Der_Wanderer Posts: 1229 Nutzer |
@Ralf Und auf dem A1200 mit Graka läuft es auf einem PAL screen ? Wenn ja (wie z.B. auf meinem A1200), dann liegt es schon an fehlenden Libs. Kompatibel sollte es auf jeden Fall sein. Der Unterschied von BB2 zu AB2 ist, dass der Editor OS freundlich gemacht wurde. Wenn es also nicht mehr läuft, wäre schon komisch. Aber warum codest du nicht auf dem Graka Rechner ? Fürs Coden ist eine höhere Auflösung sehr wichtig. AB3 auf 640x256 wird keinen Spass machen. 1024x768 ist da eigentlich minimum. Die meisten Erweiterungen von BB2 zu AB2/3 zielen eigentlich in Richtung Custom Chip Unabhängigkeit. Wenn du Old-School Soft machen willst, wäre evtl. BB2 besser für dich. Eine andere Frage: Wieviel RAM hat den der Nicht-Graka Rechner ? AB2 ist etwas Speicher hungriger als BB2. 16MB sollten in der Kiste schon drin sein. Zu dem Datatype Beispiel: Mit dem Sound Datatype kommst du nicht weit. Glaub mir, sonst würde AB2 auch via Datatype laden, so wie Bilder. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
11.05.2007, 06:57 Uhr Honitos Posts: 200 Nutzer |
AB3 läuft auf jeden Fall auch ohne Grafikkarte. Wenn da etwas nicht genau funktioniert, bitte ich um eine etwas ausführlichere Fehlerbeschreibung. Kleiner Hinweis: man kann den Startbildschirm in den Tooltypes ändern. Da gibt es auch einen Schalter CLONEWB oder USEWB. Dann wird entweder die Screenauflösung der WB kopiert oder gleich die WB (wie MBasic ;-)) verwendet. [ - Antworten - Zitieren - Direktlink - ] |
11.05.2007, 08:15 Uhr Blackbird Posts: 634 Nutzer |
@Ralf27:Zitat: Das stimmt nicht. AB2 ist BB2 mit vielen Bugfixes und Erweiterungen... Der Editor braucht nicht zwingend eine Graka... Machs doch mal so: Lade dir mal AB3 (also die neueste Distri von Sven) runter und probiere das mal... Sicherheitshalber soltest du auch mal SnoopDos mitlaufen lassen, denn ich glaube auch (wie Thilo schon schrieb) das dir auf deinem kleinen Rechner irgendwas fehlt... Außerdem, finden wir die Ursache für das nichtfunktionieren, wird Ab2/3 dann besser durch die Behebung des Fehlers... -- regards Blackbird Have a look at: http://www.blackbird-net.de Skins for PlayCD OS3.9 BlackShoot, Zombies Apocalypse, GalagaWars, VcdImager-Gui,PerfectPaint [ - Antworten - Zitieren - Direktlink - ] |
16.05.2007, 17:00 Uhr bruZard Posts: 307 Nutzer |
Ich verstehe die Bedenken der Ein/Umsteiger nur allzu gut. Während ich bei Blitz3D und BlitzMax max. einen Tag benötigte um einsteigen zu können, quäle ich mich nun schon seit Monaten durch die "Doku" zu AmiBlitz und werde mehrmals stündlich von Gurus besucht. Das Hauptproblem ist die dünne Community um AB. Bei B3D und BMax gibt es eine geschlossene und umfassende Doku (damit meine ich nicht mal Tutorials) welche sich im Stück lesen lässt und tausende User rund um den Erdball. Bei AB hat man eine Bazillion Dokumente und weiß nur selten mit welchem man anfangen soll. Dieses osting ist kein Vorwurf, mir ist sehr wohl klar wieviel Arbeit so eine Dokumentation macht. Alleine Thilos Includes bedürften mehrerer hundert Seiten um erschöpfend dokumentiert zu werden. Schade ist auch dass es zwar einen AB IRC Channel gibt, dort aber nie jemand anzutreffen ist um mal eben was zu fragen. Bei BB/B+/B3D/BMax sind immer mdst. 5 Leute im deutschen Channel, der englische platzt bald aus allen Nähten und die Community verteilt sich schon auf mehrere Channels damit man sich überhaupt vernünftig unterhalten kann. Ich habe hier 24/7 IRC am Laufen, aber bei AB lohnt es sich einfach nicht den Channel aufzuhalten ... ist eh nie jemand an Deck. Mit AB3 wird aber bestimmt alles besser [ Dieser Beitrag wurde von bruZard am 16.05.2007 um 17:03 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
16.05.2007, 17:23 Uhr Blackbird Posts: 634 Nutzer |
@bruZard: Deine Aussagen kann ich verstehen, und schreibe dir (wie auch allen anderen) nun nochmal das gleiche was ich vor Jahren schonmal getippert hatte.... Laut Bernd sollte die Doku so funktionieren: Ein User "versteht" etwas nicht, und fragt "irgendwo" (also ML oder Forum) nach "was" "wie" "wo" schief läuft usw... Dann "soll" eben dieser User die Doku erweitern, sodas man so nach und nach eine "vollwertige" Doku bekommt.... Das hier schreibe ich völlig wertfrei, denn ich "weis" das es so nicht funktionieren kann... Andererseits sind zu wenig Leute da um Doku zu schreiben. Mitmachen will auch keiner, also läßt man es halt einfach... Fragen werden in der ML oder im Forum beantwortet..... Bei Thilos Includes ist nun mittlerweile zu jeder Include auch eine Erklärung (wenn auch eine kleine und keine Ausführliche) dabei. Bei vielen Dingen auch ein Beispiel... Deinem letzen Satz kann ich zwar nicht ganz zustimmen, aber wir werden sehen ob AB3 mehr Leute "anziehen" kann die auch mal was beisteuern wollen/können als das bei AB2 der Fall war... -- regards Blackbird Have a look at: http://www.blackbird-net.de Skins for PlayCD OS3.9 BlackShoot, Zombies Apocalypse, GalagaWars, VcdImager-Gui,PerfectPaint [ - Antworten - Zitieren - Direktlink - ] |
16.05.2007, 18:09 Uhr Der_Wanderer Posts: 1229 Nutzer |
Es gibt sehr wohl ein Handbuch zu Blitzbasic2, das man am Stück lesen kann, gibts als PDF und HTML, wenn ich mich recht entsinne. Es gibt zu fast jedem Befehl einen Guide, einschl. der Inlcudes. Im Vergleich zu MSDN Library von .NET ist das schon Zucken-In-Den-Arsch ;-) Aber aller Anfang ist schwer. Muss ich mich doch mal an ein Tutorial setzen. Wenn man das Grundprinzip verstanden hat, kann man sich ohne Probleme "druchhangeln". Das schwierigste ist wohl zu wissen, was es überhaupt gibt und wo man anfangen muss. @Buzard Allerdings steht hier AB2 gegen andere Amiga-Basic Dialekte, nicht gegen ein kommerzielles PC Blitzbasic mit einer Userbase von mehreren tausend, der Aufwand der hier hineingesteckt wird ist nicht vergleichbar mit keinem Projekt auf dem Amiga. Und bei anderen Basic Dialekten sieht es noch viel schelchter aus. Wie gesagt, ein am-Stück-lesbares Handbuch zu BB2 gibts es auch. Dünn wird es erst, ab dem Zeitpunkt als es nur noch OpenSource weiterentwickelt wurde. Und diese Entwicklung fehlt den anderen Basics komplett. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
18.05.2007, 14:39 Uhr DieterG Posts: 164 Nutzer |
Was mich hier in der Diskusionsrunde nur wundert, das es bei allen grundsätzlich erst mal funcktioniert. Ich brauche nur den Editor zu öffnen, und kann warten, bis das system abstürzt. Einen code laden bekommt man auch noch hin, wenn man schnell genug ist, aber spätestent beim compile oder compile and run ist die maximale laufdauer wohl erscöpft, und das Abschmieren ist nicht mehr zu verhindern. Ich nutze AOS4, klar das es nicht nativ ist, aber auch ohne JIT-Compiler bekomme ic die maximale Lebensdauer von AmiBlitz höchstens etwas erhöht, wegen der geringeren Geschwindigkeit komme ic dann aber auch nicht weiter. Was mich noch wundert, wo die Zeit bis zum Absturz so ziemlich absehbar ist, am Speicher verändert sich nichts. Also bin ich jetzt wirklich der einzigste, bei dem AmiBlitz nicht läuft, oder haben sich die anderen nur rausgehalten ? @AleksanderK: Übrigens besitzt AmiBlitz nicht mal einen normalen "Input"-Befehl, also die normalen Basic-Directieben sich oftmals auc nicht enthalten, so das man mit relativ viel Aufwand eine umgehung z.B. für eine einfache eingabe machen muss, mit Fenster öffnen, gadet erzeugen, messages auswerten und und und.... Jedenfalls war es mit der letzten lauffähigen version noch so, aber ich glaube nicht, das sich da was geändert hat. [ - Antworten - Zitieren - Direktlink - ] |
18.05.2007, 15:44 Uhr Der_Wanderer Posts: 1229 Nutzer |
@Dieter Es waere sehr hilfreich, wenn du Bugs in Amiblitz den Authoren reporten wuerdest, und evtl. noch die Version nennen wuerdest damit man wiess wovon ueberhaupt die rede ist. Auf http://www.amiforce.de gibt es einen Bugtracker dafuer. In vergangener Zeit wurden haeufig Updates gemacht, die Highly/Beta sind, also durchaus Bugs enthalten haben. Wenn sowas an "Otto-Normal" User kommt, entstehtleicht der Eindruck eines Buggz Programs. Deshalb ist Amiblitz3 auch bisher unter vershcluss, und wird erst veroeffentlicht wenn die Betatester keine Bugs mehr finden, bzw. keine wichtigen. Amiblitz laeuft auf jeden Fall auf Classic, WinUAE und Amithlon, soviel kann ich versichern, ich code so gut wie jeden Tag damit. Solche groben Bugs wuerden mir sofort auffallen. Es wurde aber auch schon erfolgreich unter OS4 und MOS getestet, es wurden sogar extra Bugfixes/Workarounds eingebaut damit es laeuft. (was in den meisten Faellen kein Bug in Amiblitz war, sondern eine Inkompatibelitaet von OS4 und MOS zu OS3). Komischerweise ist wieder die Tendenz da, dass es bei Amiblitz Befuerwortern weniger Bugs zu haben scheint als bei Ablehnern :-) BTW Dieter, ich glaube du kennst dich mit Amiblitz nicht besonders aus. Natuerlich gibt es sowas wie einen Input Befehl, mit dem man aus der CLI oder einer Datei etc. lesen kann ("Input$"), allerdings muss man auch dazu sagen dass Amiblitz nicht versucht das klassiche Basic abzubilden, sondern wie schon erwaehnt ist es etwas "eigener". Das klassiche Basic ist eigentlich nur zum Lernen geeigent, nicht um echte Apps zu schreiben. Mit Amiblitz hingegen kann man alles denkbare implementieren, von Shell Anwendungen ueber GUI intensive Apps bis hin zu schnellen Graikkarten oder auch Custom Chip Games, auch amiga shared libraries oder devices etc. kann man damit machen. Eine GUI hat man sehr schnell hingezaubert, z.B. MUI oder Gadtools, von mir gibt es auch ein GUI Toolkit "TUI", mit dem man MUI aehnlich GUIs erstellen kann, wobei der Vorteil ist dass die Gadgets auf OS Gadgets beruhen, und somit direkter reagieren. Z.B. die GUI von HD-Rec ist so gemacht. Ohne gescheites GUI Toolkit waere sowas kaum moeglich, es gibt etwa 30 Fenster mit hunderten von Gadgets. Ich habe jetzt mal ein Konzept fuer ein Video Tutorial aufgesetzt. Mal sehen ob das mehr ankommt als ein Guide. Text scheint ja kaum noch jemand lesen zu wollen, bzw. es wird oft hartnaeckig ignoriert. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
18.05.2007, 20:56 Uhr Honitos Posts: 200 Nutzer |
Zitat: Wie Wanderer schon erwähnt hat: alle AmiBlitz3-Versionen sind Entwicklerbuilds und noch nicht für Anwender gedacht. Bis vor kurzem wurden ständig neue Funktionalitäten in die IDE eingebaut. Dies ist nun abgeschlossen und wir arbeiten an den letzten Bugfixes für das finale AmiBlitz 3.00 release. Ich schätze mal in 4-5 Wochen wird das der Fall sein. Bis dahin sollten Interessierte die letzte stabile Version 2.45 nehmen. Zitat: Übrigens haben die anderen Basic-Dialekte nicht mal einen "Spiele-MP3-im Hintergrund-ab"-Befehl :-) Ein normaler Input-Befehl macht auf eine Plattform mit vielen erschiedenenen Eingabemöglichkeiten (Fenster, Shell, Datei, etc.) nicht viel Sinn. Geht aber auch, wenn man weiß, wie der Befehl heißt. Dazu öffne ich den "Instruction Browser", tippe die ersten Buchstaben einer Funktion ein und erhalte eine Tabelle mit allen Funktionen, die mit den eingegebenen Buchstaben beginnen. Ähnlich wie die automatische Vervollständigung (autocomplete) von Visual Basic.Net. [ - Antworten - Zitieren - Direktlink - ] |
18.05.2007, 23:23 Uhr TheoTheoderich Posts: 215 Nutzer |
Also die Beta von AmiBlitz3 läuft bei mir (A4000, OS3.9, Cybervision64/3D, MK II 060/50) völlig problemlos. Ich fange jetzt gerade an, mich da durchzuhangeln. Die 2er Version von AmiBlitz lief bei mir nie fehlerfrei und ich hätte so gerne etwas damit gemacht. Aber die 3er ist nur genial. So stelle ich mir eine Entwicklungsumgebung auf dem Amiga vor. Viel kann ich ja noch nicht, aber das was ich dort kann, läuft stabil. Ich arbeite seit Jahren mit BlitzBasic3D auf dem PC und in Visual-Basic 6.0 und weiss was ich will. AmiBlitz3 kommt dem schon sehr nahe . Nur die Einarbeitung ist etwas schwierig, weil es ja doch ein bissl anders als auf dem PC ist -- - Amiga 4000D / 68060/50 / 100MB / FastlaneZ3 / Cybervision64-3D / MAS-Player - Amiga 2000 / 2.8 MB / SCSI - Amiga 500 / Kickstart-Umschalter / Alfa-Power / 4 MB - 3 Amiga 500 1MB [ - Antworten - Zitieren - Direktlink - ] |
19.05.2007, 11:01 Uhr Honitos Posts: 200 Nutzer |
@TheoTheoderich: Schön auch mal sowas zu hören. In der Regel wird man ja mit vernichtenden Aussagen abgeurteilt... Wichtig: Bitte registriere Dich bei amiforce oder komm in die AmiBlitz-Mailingliste, damit ein Gedankenaustausch stattfinden kann. Und noch wichtiger: Wenn Du Verbesserungsvorschläge zur IDE hast, NICHT VERSCHWEIGEN! [ - Antworten - Zitieren - Direktlink - ] |
19.05.2007, 12:16 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Ich hoffe das meine Aussagen hier auch nicht zu den vernichtenden Aussagen gehören. Und auch schade das das wohl dann auch die Regel sein soll. Ich hab mich auch nochmal etwas mit AmiBlitz bemüht. Vor einiger Zeit (Jahren) hab ich ein Testprogramm(Wasserbewegungen in einem Spiel) von MBasic nach AmiBlitz konvertiert und es auch soweit umgebaut das es mit AmiBlitz lief, bzw. rannte. Mir ist ja klar das zwischen beiden Sprachen ein extremer Leistungsunterschied ist und so rannte das Programm auch. Nur mit der Tastaturabfrage hatte ich Probleme. Genauer: INKEY$() aus MBasic nach AmiBlitz. Ich hab nicht immer ein Input benötigt(Schieber auf/zu, etc.), bzw. war das nur eine einfache Tastaturabfrage. Was ich zu AmiBlitz brauche ist irgendwie ein Einstieg. Der Anfang ist da wohl am schwersten. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
19.05.2007, 13:21 Uhr Der_Wanderer Posts: 1229 Nutzer |
Eine Keyboard Abfrage wuerde man auch anders machen. Klar gibt es die I/O Stream Befehle (Input$, Inkey$ und Edit$), aber wie schon gesagt so eine Abstraktion taugt nur fuer Programme ala "Bitte geben sie eine Zahl ein: ... Herzlichen Glueckwunsch, xyz ist eine Primzahl!". Wenn du was richtiges Coden willst, dann muss man eben ein bisschen auf das OS eingehen, und das macht AB3. Eine Keyboardabfrage macht man entweder Event basierend, z.B. bei einer Applikation, oder Frame basierend bei einem Spiel. (also man wartet nicht auf ein Event, sondern fraegt in jedem Frame eine bestimmte Taste ab, ob sie gedrueckt ist oder nicht) Mit AB3 Befehlen geht das so: Event Basierend: code:Repeat idcmp.l = Event Select idcmp case #IDCMP_RAWKEY RawKeyPressed.l = EventCode End Select Until idcmp = 0 Frame basierend: code:LeftShiftIsPressed.l = RawStatus(#RAWKEY_LSHIFT) ... oder ganz elegant mit den Includes: code:While intui_GetEvent{} ; wir muessen auf Events lauschen ... Select !event_IDCMP ; welcher Event Typ case #IDCMP_RAWKEY ; aha, RawKey RawKeyPressed.l = !event_RawKey ; direkt die Rawkey ID VanillaKeyPressed.l = !event_VanillaKey ; interpretiert durch Locale End Select Wend ; oder auch den Status testen fuer Spiele LeftShiftIsPressed.l = intui_RawStatus{#RAWKEY_LSHIFT} Der Unterschied zwischen RawKey und VanillaKey ist, dass der Rawkey unabhaengig von der Tastaturbelegung ist, also "y" ist die gleiche ID wie "z" auf einer Amerikanischen Tastatur. Der Vanillakey ist aber einmal "y" und einmal "z", je nach Locale Prefs. (deshalb beendet man DoomII auch mit "z", obwohl die Frage heisst "Yes or No ?", da wird wohl der RawKey abgefragt, was in diesem Falle keine so gute Idee ist) :-) So einen Event Loop brauchst du sowieso, wenn du irgendwas mit GUI machst, z.B. um Button Events zu bekommen etc. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
19.05.2007, 13:26 Uhr Der_Wanderer Posts: 1229 Nutzer |
@Honitos Nicht ganz, das schoene am AB3 Browser ist, dass er nicht nur Befehle zeigt, die mit dem Stichwort anfangen, sondern alle, die es enthalten. Das ist z.B. ein riessen Vorteil gegenueber M$ VS .NET. Wenn ich also "input" tippe, dann bekomme ich alles, was mit input zu tun hat, also nicht nur "Input$", sondern auch "FileInput", "WindowInput", "BitmapInput", "DevicInput", InputMode" etc.etc. was es sonst noch so gibt. Mit doppelklick springt man in den zugehoerigen Guide, und der enthaelt oft querverweise, so dass man versteht, mit welchen anderen Befehlen der Befehl zusammenhaengt. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
19.05.2007, 13:41 Uhr DieterG Posts: 164 Nutzer |
Auch wenn hier der Eindruck entstanden sein sollte, ich will keinesfalls AB3 niedermachen. Im Gegenteil, ich finde die Leistung, die dahintersteht schon enorm für ein mehr oder weniger Freizeitprojekt. Ich habe eben nur erwähnt, das es hier nicht läuft, und wollte damit einfach nachfragen, ob es denn grundsätzlich bei anderen Usern keine Probleme gibt, es also nur an meinem System liegt, oder ob alle OS4-Nutzer jetzt sagen, habe ich auch. Und da ich vergessen habe, was AlexanderK nun eigentlich für ein System hat, ihn auch darauf hinweisen, das es unter bestimmten Systemen (zumindest zur Zeit) noch probleme geben kann. Und zum Input, nicht jeder will ein Megaprojekt starten, gerade für die kleinen dinge zwischendurch habe ic imme rBasic genutzt, also auf die Sachen, wo die Geschwindigkeit nicht so wichtig ist, aber das programm schnell da sein muss. Und da brauche ich zum Beispiel meistes nur ein paar informationen, um mit diesen arbeiten zu können, und keine GUI,"Mp3 im Hintergrund" oder sowas. Eben kurz und schnell einige Werte oder Pfade abfragen, und danach steht das Ergebnis z.B. in der Datei. Und das geht eben nicht so einfach, jedenfall habe ich da irgendwann aufegegeben, weil das mit zwar langsameren aber immerhin für sowas bessere geeignete Basic-Varianten gibt. Auch hier wieder der Hinweis: nicht jeder will spiele programieren, und da hier keiner weiß, was nun der Fragesteller überhaupt programmieren will, sollte man ihn darauf hinweisen, das für sachen ohne viel drumherum AB3 weniger simple möglichkeiten bietet as andere Basicdialekte. Also bitte nicht falsch verstehen, AB3 mag super in seiner Kategorie sein, aber jeder sllte mal über den Tellerrand schauen, ob für seien Zwecke nicth besseres (sprich: einfacheres) zur verfügung steht. [ - Antworten - Zitieren - Direktlink - ] |
19.05.2007, 18:18 Uhr Der_Wanderer Posts: 1229 Nutzer |
@DieterG Wenn du hier ein Basic Code postest, der deiner Meinung nach einfach und kurz ist, dann poste ich dir einen AB3 Code der mindestens genauso einfach oder noch kuerzer ist. Dass AmigaBasic oder Maxon Basic einfacher ist stimmt einfach nicht. Auch fuer genau solche Sachen wie kleine Projekte ist AB3 optimal. Z.B. RawKey Abfragen geht auch mit einem einzigen Befehl, wie du oben siehst, kuerzer geht es nicht. Aber es gibt auch die Luxus Variante wenn es eine anspruchsvollere App ist. Und MP3 im Hintergrund abspielen ist in AB3 ein zwei Zeiler (!), das wuerde ich nicht gerade als Mega-Projekt bezeichenen. :-) Kopiert man ueber die mp3 ein MOD oder eine wav Datei, wird diese ohne Murren abgespielt, ohne eine einzige Zeile im Program zu aendern. Der Erfahrene Programmierer kommt aber auch direkt an die Audio Daten heran, kann sie manipulieren, speichern, aufnehmen und wieder abspielen etc. Es gibt viele Moeglichkeiten. Viele Dinge gehen in AB3 kinderleicht und super kurz, die in anderen Basic Dialekten ueberhaupt nicht gehen und die in C in eine riessen Sourcecode Orgie ausarten wuerden. Und das ganze laueft dann auch noch schnell und ueberall (OS4/Amithlon/MOS). Fehlt was, kurzer Post in der ML oder amiforce.de und es wird innerhalb kuerzester Zeit ergaenzt (sofern es einigermassen Sinn macht), den Service gibts niergends. Lade mal in einem anderen Basic ein JPEG rein und blitte es auf den Bildschirm (1-24bit). Das ist in AB3 ein Dreizeiler. Schaetze da waerst du eine Weile beschaeftigt in MBasic. Solche Beispiele koennte ich zu dutzenden aufzaehlen. Und interessant sind ja gerade solche Sachen wie Grafik, Audio, Internet, Games und GUIs. Die Tuerme von Hanoi loesen haben wir ja alle in der Schule schon abgehakt. :-) -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ Dieser Beitrag wurde von Der_Wanderer am 21.05.2007 um 12:21 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
24.05.2007, 23:05 Uhr Ralf27 Posts: 2779 Nutzer |
Hab mir eben AB3 angesehn, was wirklich viel besser ist als AB2. Jedenfalls ist schon der erste Eindruck besser als bei AB2. Hab auch gleich versuch ein kleines Testprogramm umzusetzen, was auch ordenlich Rechenleistung frist (Wolkengenerator). Testweise mit WritePixel_(ok, pfui . ). Jetzt will ich aber WriteLutPixelArray() einsetzen und möchte auf das generierte feld.b(x,y) zugreifen. Und da ich in AB3 auch Felder in Bytegröße aufbauen kann, kann ich das Feld vermutlich auch so direkt ohne Wandeln einsetzen. Nur brauch ich denn Pointer aufs Feld. Wie bekomme ich diesen? Das ganze läuf testweise. Denn Generator hab ich schon in MBasic stark optimiert, z.b. mit Ganzzahldivision (). Nur AB scheint das nicht zu kennen, bzw. wie geht das in AB? -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
25.05.2007, 00:17 Uhr Der_Wanderer Posts: 1229 Nutzer |
In Amiblitz ist "/" der Divisionsoperator, so wie bei C. Ganzzahldivision ist aber nicht unbedingt schneller. Evtl. würden sich Floats anbieten. Ein Array/Feld könntest du mit WritePixelArray8_ oder WriteChunkyPixels_ oder WriteLUTPixelArray_ blitten, sofern du tatsächlich Pen basierend arbeiten willst. Den Pointer bekommst du vom ersten Element: &MeinArray(0,0). Allerdings würde ich das nicht so machen, da das Alignment nicht unbedingt garantiert ist, das wirst du aber schnell merken. Ich würde mir lieber den Speicher selbst allocieren und mit Peek&Poke oder einem laufenden Pointer drauf zugreifen. Du kannst auch Zeile für Zeile blitten, dann brauchst du nicht ein ganzes Bild als Array allocieren, sondern nur eine Zeile (hängt natürlich auch vom Algo ab) Die perlin.inlcude.bb2 z.B. kann Wolken in einen Rastport rendern. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
25.05.2007, 00:19 Uhr Der_Wanderer Posts: 1229 Nutzer |
@Ralf Das Amiblitz3 ist beta und wird mit Sicherheit noch Probleme machen. Das non-Beta Release liegt aber in den letzten Zügen vor der Vollendung... Dort gibts dann auch Templates für verschiedene Programm Typen, damit der Start leichter ist, eine neue Menu Führung und viele viele Guides. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
1 -2- 3 4 | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Welches Basic??? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |