Ich habe SVG inhaltlich nie angeschaut (nur mal aus Illustrator oder Inkspace gespeichert), ist das ein XML Aufbau?
Hallo Besucher, der Thread wurde 305k mal aufgerufen und enthält 2098 Antworten
letzter Beitrag von lame-zock-opa am
Heute so gecodet...
- syshack
- Unerledigt
-
-
ich habe soetwas immer von Hand in xFig gemacht. Für die Newt0rn demo damals und für die walking boxes bei Caren and the Tangled Tentacles jetzt
-
Ja, XML, die Polygone/Linienzüge sind Strings.
-
Ja, XML, die Polygone/Linienzüge sind Strings.
Ah, dann könnte man das vermutlich relativ einfach mit XSLT transformieren und gleich in absolute Koordinaten umrechnen.
Hast Du mal ein einfaches Beispiel? -
Hier der Schriftzug. Bei SVG spielt bei Groß-/Kleinschreibung eine Rolle - Großbuchstaben im Path stehen für absolute, Kleinbuchstaben für relative Koordinaten. Viel Spaß beim Transformieren
-
Und vor 32 Jahren hat man sowas mit Linien gemacht, finde ich auch heute noch beeindruckend: http://csdb.dk/release/?id=85120
-
Zwar nicht heute, sondern vor vielen Jahren gecodet, aber dank der hier erwähnten Bezier-Kurven wurde ich wieder dran erinnert: Ich hab mal ein Malprogramm in Basic7 geschrieben, und irgendwann hab ich versucht, sowas wie Bezierkurven einzubauen.
Das Programm ist ganz fürchterlich und sollte von niemandem angesehen werden, herunterladen auf eigene Gefahr.
Nach dem Starten der Datei "Hirespaint V3" werden die anderen Dateien nachgeladen. Man kann es mit einem Joystick in Port 2 steuern, besser ist aber eine 1351-Maus in Port 1. Wenn man einen Joystick benutzt, ersetzt die Esc-Taste die zweite Maustaste.
Diverse numerische Zusatzeingaben werden über die X-Position des Pointers gemacht, unter anderem auch die Farbwahl (fragt nicht, man muss halt die Basic7-Farbnummern kennen ).
Fast alle Zeichenfunktionen basieren auf den entsprechenden Basic7-Anweisungen (Box, Circle, Draw, etc.) mit dem Unterschied, dass das Programm eine Assembler-Unterroutine als ständiges "Undo" benutzt, so dass man eine Art Gummibandfunktion erhält - wenn auch extrem langsam. Zusätzlich zum sichtbaren Bild hält das Programm vier weitere Bildpuffer im Speicher, davon wird Nummer vier für das Undo gebraucht.
Am Anfang sollte man einmal "Clear" anwählen, damit der Grafikbildschirm gelöscht wird.
Bei der Funktion "Bezierkurve" setzt man dann mit dem ersten Klick den Startpunkt, mit dem zweiten Klick den Endpunkt und mit allen folgenden Klicks verändert man abwechselnd die Positionen der beiden Kontrollpunkte.
Im Gegensatz zu einer echten Bezierkurve muss man die Kontrollpunkte allerdings ca. 1,5-mal so weit entfernt setzen (ich könnte es geometrisch erklären... ...aber ich lasse es lieber ).
Hat die Kurve die gewünschte Form, muss man mit der rechten Maustaste (oder eben ESC) abbrechen.
Ich hab mir den Code jetzt nicht mehr näher angesehen, aber wenn ich mich recht erinnere, wird die Kurve einfach nur durch 2*16 Liniensegmente angenähert, wobei die Mitte zwischen den beiden Kontrollpunkten einen zusätzlichen Kurvenpunkt definiert und die beiden Hälften der Kurve jeweils als "in den Raum gedrehter Viertelkreis" beschrieben werden können.Eine echte Bezierkurve wäre auch interessant, aber dafür sollte man vielleicht nicht unbedingt Basic benutzen...
-
Den Plus/4 Modulcode für einen Directory-Browser. Der Browser wird aus dem Modul kopiert, Modul angeschaltet, alles grade gebogen und dann automatisch ausgeführt. War nicht so einfach wie es sich anhört. Man muss die Eigenheiten den C16 und P/4 erst mal kennen.
http://www.cbmhardware.de/show.php?r=4&id=29/ Directory Browser Cartridge Code
Ein sehr schöner Directory-Browser: http://plus4world.powweb.com/software/Directory_Browser in der Version 1.2
Werde ich wohl in ein 3Plus1-Ersatz-ROM mit aufnehmen.
-
Habe vor 10 Minuten meinen 10-Zeiler auf dem 8096-SK fertiggestellt für die BASIC 10Liners 2017
Ein kleines Spiel mit Grafik und Musik, ich bin selber ganz begeistert! Hat auch nur ziemlich knapp
in die 10 Zeilen gepasst, wobei mir im Nachhinein noch ein paar Optimierungsmöglichkeiten eingefallen
sind, aber das bleibt jetzt so!Danke an alle, die mir in der Shoutbox mit Tips geholfen haben!
Jetzt muss ich das nur noch lästigerweise in den Emulator tippen und dann noch eine Version mit
einem Befehl pro Zeile erstellen (wer denkt sich solche Schikanen aus?), aber das mache ich heute
nicht mehr! -
Ich weiss nicht, ob ich das schonmal vorgestellt habe, aber ich habe vor einiger Zeit (ca. 2 Jahre) mal einen MIDI-Sequencer in Python geschrieben. Irgendwann hatte ich aber keine Lust mehr oder halt andere Projekte, somit blieb der lange ungenutzt. Jetzt habe ich mich heute mal aufgerafft und eine sehr simple Load/Save-Funktion eingebaut, sodass ich das Teil nun prinzipiell nutzen kann. Zwar fehlt immer noch einiges, aber ohne Load/Save war es eigentlich voellig unbrauchbar
Der Sinn des Projekts ist es, einen MIDI-Sequencer zu haben, der sich wie ein klassischer Tracker bedienen laesst, allerdings um damit externe MIDI-Geraete anzusteuern. Ein wesentlicher Unterschied zu den meisten Trackern ist der, dass es nicht einfach nur Patterns gibt, sondern es gibt Patterns und einen Song, der aus mehreren (MIDI-)Spuren besteht. Das heisst, im Gegensatz zu herkoemmlichen Trackern baut man den Song nicht durch Aneinanderreihung von Patterns auf, in welchen dann immer gleich alle Spuren vorhanden sind (Schlagzeug, Bass, Melodie usw), sondern die Patterns sind immer nur fuer einzelne Instrumente gedacht, man macht also z.B. ein Schlagzeug-Pattern, ein Bass-Pattern und ein Melodie-Pattern, und im Song View wird das ganze dann erst zu einem Song arrangiert. Dies ist fuer meinen Geschmack um einiges besser und flexibler. Haupt-Inspiration hierfuer ist Jeskola Buzz (das kennt bestimmt der ein oder andere hier). Auch kann man die Patterns in eine beliebige Spur setzen, ein Bass-Pattern muss also nicht zwigend dann auch in die Bass-Spur gesetzt werden, sondern die koennte ich auch zusaetzlich noch in einer voellig andere Spur setzen, damit sie von einem anderen Synthesizer gespielt wird. Es ist also wie man sieht sehr flexibel.
Hier mal ein paar Screenshots (im wahrsten Sinne des Wortes):
Hier noch ein "sauberer Screenshot" ohne Alpen-Panorama im Hintergrund (laesst sich ein- und ausschalten, bzw. auch die Farben lassen sich beliebig waehlen):
Hier noch ein Video des ganzen in Aktion:
[Externes Medium: https://www.youtube.com/watch?v=fy9ifaqeagk] -
ich habe vor einiger Zeit (ca. 2 Jahre) mal einen MIDI-Sequencer in Python geschrieben.
Sehr geil, mein Lieber . Sehr cooles Projekt!
-
Nach über einem Jahr habe ich die letzten Tage weiter an meinem Z80 Disassembler gebastelt.
-
Toll...ein gute z80 Assembler fehlt auf dem c64 auch.
-
Toll...ein gute z80 Assembler fehlt auf dem c64 auch.
Für solch schräge Projekte ist aber M.J. zuständig.
-
Inspiriert von dem Thread mit den floating point Problemen auch einmal ein simpler Emulator. Hab mich drei Tage mit den Flags rumgeärgert, bis endlich in der Einschaltmeldung die 38911 Bytes standen. Die Erlärungen für das Overflow-Flag sind ziemlich unklar. Und letztlich war es doch das Carry, das ich an einer Stelle falsch hatte.
Was ein geiles Gefühl, wenn da das erste Mal Ready steht -
Heute nen Bug aus einer Prototypmaschine gecodet.
Der die Maschine peogrammiert hat ist im Urlaub.
Eine Komponente wurde getauscht - danach lief die Gurke etwas unrund. Nicht gut.
Die Maschine hab ich vorher nur mal kurz von aussen gesehen.
Siemens S7 1200er drin - Gut, dass ich vorher noch nie was mit TIA Portal zu tun hatte
Hat etwas länger gedauert,
aber hat geklappt -
Gestern an Retrofan's Fussballspiel bisser weiter gecoded. Nächster Schritt ist nun der Einbau des Fussball und die Bewegungs-Routine vereinfachen.
-
Habe heute mal an meiner "neuen" Steuerungsvariante rumgebastelt.
Neben der Entfernung einiger Bug´s wird nun das 9. Bit für die X-Achse, 2 Geschwindigkeiten (mit "1" und "2", Info links oben im Screen) sowie eine etwas bessere Viceunterstützung (Joystickemulation über Tastatur) berücksichtigt.
(Trotzdem wird ein echter Joystick empfohlen, das man sich sonst die Finger verknoten könnte )Zudem ist das Sprite auf dem Screen "gefangen", d.h. es kann nicht aus dem Bild gesteuert werden.
Es sind 16 Steuerungsrichtungen möglich (jeweils um 22,5 Grad versetzt) wobei bei den diagonalen Bewegungen die Geschwindigkeit im Verhältnis zu Vertikal/Horizontal automatisch angepasst wird.
Steuerung: Grundsätzlich erstmal "normal", wenn jedoch nach dem Steuern in eine Richtung der Joystick im oder gegen den Uhrzeigersinn "gerührt" wird, wird der Bewegungswinkel um jeweils 22,5 Grad verändert.
Wer möchte, kann mir bitte mal Rückinfo dazu geben und evtl. weitere Bug´s mitteilen
EDIT: Datei nochmal neu angehangen, da ich zuerst die falsche Version hochgeladen habe...
-
Mal ne andere Idee: was wäre denn, wenn man einen angepassten Joystick basteln würde, der einfach mehr Mikroschalter hat, und der über 2 Joystick Stecker angeschlossen würde?
-
sind immer noch Bugs drin:
- wenn ich z.B. nach oben gehe und dann nach komplett links gehe, dann kommt es vor, dass er diagonal laeuft (ich denke das passiert dann, wenn die Zwischenrichtung gaaanz kurz "aktiviert" wurde).
- wenn ich einen "Bogen" laufe, z.b. rechts, rechts-oben, oben, links, dann laeuft er nach oben statt nach links.