jBB <basic-style-canvas />

Übersicht Sonstiges Smalltalk

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter

Neue Antwort erstellen

Farbfinsternis

BeitragDi, Feb 01, 2011 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
0.64 ist online und steht ganz im Zeichen der Listen. Zunächst das Changelog ...
Code: [AUSKLAPPEN]

01.02.2011 - V0.64
added   : createPerspectiveMatrix(fFoVVy, fAspect, fZnear, fZfar)
added   : tList.addFirst(val)
added   : tList.addLast(val)
added   : tList.remove(val)
added   : tList.flip()
added   : tList.next()
added   : tList.clear()
added   : tList.reset()
added   : CreateList()
added   : ListAddFirst(list, val)
added   : ListAddLast(list, val)
added   : RemoveFromList(val)
added   : ListFlip()
added   : NextItem(list)
added   : ClearList(list)
added   : ResetList(list)
added   : tImage.isReady()
added   : ImageLoaded(image)


... und hinterher ein Sample ...
Code: [AUSKLAPPEN]

<!DOCTYPE html>
<html>
<head>
   <title>Lists Example</title>
   
   <script type="text/javascript" src="js/jbb.js"></script>
   
   <script type="text/javascript">
      // Liste erstellen
      var list = CreateList()
      
      // ein paar Daten hinein schreiben
      for(var i = 10; i <= 30; i+=10){
         ListAddLast(list, "Eintrag " + i)
      }
      
      ResetList(list);
      
      // Liste iterieren
      var eintrag;
      while(eintrag = NextItem(list)){
         alert(eintrag);
      }
   </script>
</head>
<body>
</body>
</html>


Desweiteren besteht nun die Möglichkeit Bilder außerhalb der Initialisierungsfunktion zu laden. Dazu existiert jetzt die Funktion ImageLoaded(image) (oder tImage.isReady()). Diese Funktion gibt True zurück wenn das Bild fertig geladen wurde, ansonsten False.

Farbfinsternis

BeitragMi, Feb 02, 2011 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.65 ist da. Diesmal habe ich Funktionen zur Verwaltung assoziativer Arrays eingebaut. Ganz frech habe ich sie "Maps" genannt und das entsprechende Objekt heißt "tMap".

Changelog:
Code: [AUSKLAPPEN]

added   : tMap.add(key, value)
added   : tMap.get(key)
added   : tMap.remove(key)
added   : tMap.next()
added   : tMap.reset()
added   : CreateMap()
added   : MapInsert(map, key, value)
added   : MapGetValue(map, key)
added   : MapRemoveItem(map, key)
added   : MapNextItem(map)
added   : ResetMap(map)


Beispiel:
Code: [AUSKLAPPEN]

<!DOCTYPE html>
<html>
<head>
   <title>Example : Maps</title>
   
   <script type="text/javascript" src="../js/jbb.js"></script>
   <script type="text/javascript">
      function main(){
         var map = CreateMap();
         MapInsert(map, "Key 01", 1);
         MapInsert(map, "Key 02", 2);
         MapInsert(map, "Key 03", 3);
         
         ResetMap(map);
         
         var v;
         while(v = MapNextItem(map)){
            alert(v);
         }
         
         alert(MapGetValue(map, "Key 02"));
      }
   </script>
</head>
<body onload="main();">

</body>
</html>


Auf der jBB Site habe ich rechts eine Shoutbox eingebaut.

[EDIT]
Auf der Site ist nun das Tutorial 02 verfügbar, es erklärt wie, wo (und warum "wo") man Bilder lädt, wie man diese zeichnet und wie man die Mauskoordinaten innerhalb des Canvas ermittelt und verwendet.
[/EDIT]

Thorsten

BeitragFr, Feb 04, 2011 4:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss schon sagen, das hat sich zu einer echt interessanten Sache entwickelt. Hoffentlich komme ich mal dazu, das in einem kleinen Projekt auszutesten Smile
Über diesen direkten Zugriff auf die Grafikausgabe lassen sich ja ziemlich einfach Games mit Datenbankanbindung programmieren, heisst auch im Multiplayerbereich ließe sich da schnell was zaubern

Wollte dir nur mal schnell ein Feedback da lassen, da ja eher wenig Rückmeldung kommt.

mfG,

Thorsten

Farbfinsternis

BeitragFr, Feb 04, 2011 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für das Feedback Thorsten.

Zum Multiplayer: Derzeit implementiere ich sowohl 3D Funktionen als auch Netzwerk-Funktionen via WebSockets. Diese benötigen aber einen Webserver. Wenn es nicht darum geht in Echtzeit zu kommunizieren oder um Datenbanken solltest Du das Ajax-Objekt von jQuery verwenden, damit kannst Du sehr einfach asynchron mit einem PHP Script kommunizieren:

Code: [AUSKLAPPEN]

function Login(user, passwd){
  $.ajax({
    url : 'meinPHPScript.php',
    type : 'POST',
    data : { 'user' : user, 'passwd' : passwd},
    success : function(result){ /* tue etwas im DOM mit dem Resultat */ }
  });
}


Ansonsten habe ich heute 0.66 hochgeladen. Hier das Changelog dazu:
Code: [AUSKLAPPEN]

added   : tImage.onLoaded(func)
added   : jBB.hidePointer()
added   : jBB.showPointer()
added   : HidePointer()
added   : ShowPointer()
added   : Notify(msg)
added   : OnImageLoaded(img, func)
doc      : Alpha()
doc      : Red()
doc      : Green()
doc      : Blue()
doc      : BobRange(bob, rangeName, firstFrame, lastFrame, speed)
doc      : BobSpeed(bob, speed)
doc      : DeleteBobRange(bob, rangeName)
doc      : Desktop()
doc      : Floor()
doc      : GetScaleX()
doc      : GetScaleY()
doc      : Rand()
doc      : ResetBob()


Mit HidePointer() und ShowPointer vesteckt man den Mauszeiger und holt ihn wieder, Notify tut das was es auch in BB tut und OnImageLoaded(img, func) führt die Funktion func aus sobald das Bild img vollständig geladen wurde.
Farbfinsternis.tv
  • Zuletzt bearbeitet von Farbfinsternis am Fr, Feb 04, 2011 19:35, insgesamt einmal bearbeitet

Lord Stweccys

BeitragFr, Feb 04, 2011 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht nach nem Haufen Arbeit aus.

Respekt Shocked

Farbfinsternis

BeitragFr, Feb 04, 2011 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Yop Lord Stweccys, es wird nicht langweilig.

Tutorial 04 ist nun online. Es erläutert die BOBs, wie man sie erstellt, wie man sie einrichtet und wie man damit Animationen auf Knopfdruck wechselt >> http://sedm.de/jmax/
Farbfinsternis.tv

Farbfinsternis

BeitragSa, Feb 05, 2011 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.67 ist online

- jbb-min.js repariert
- ImageRectOverlap() hinzugefügt
- Die Struktur der Website-Navigation überarbeitet
- Tutorial 04 habe ich eine Live Demo spendiert
- ein Beispiel HTML-Template hinzugefügt
- einen Fehler in SetBobRange() repariert
Farbfinsternis.tv

Farbfinsternis

BeitragSo, Feb 06, 2011 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.68 ist live.

Changelog:
Code: [AUSKLAPPEN]

added   : jBB.centerCanvas()
added   : jBB.drawOval(x, y, width, height, solid)
added   : jBB.autoMidHandle(value)
added   : jBB.midHandle(image, value)
added   : tImage.getWidth()
added   : tImage.getHeight()
added   : CenterCanvas()
added   : DrawOval(x, y, width, height, solid)
added   : AutoMidHandle(value)
added   : MidHandle(image, value)


07.02.2011
Version 0.69 ist online
Changelog:
Code: [AUSKLAPPEN]

added   : Cos(value)
added   : Sin(value)
added   : ACos(value)
added   : ASin(value)
added   : Abs(value)
added   : Tan(value)
added   : ATan(value)
added   : Ceil(value)
added   : Sqr(value)
added   : Exp(value)
added   : Log(value)


08.02.2011
Version 0.7 ist online
Changelog:
Code: [AUSKLAPPEN]

added   : jBB.deg2Rad(angle)
added   : jBB.setRotation(angle) // angle in radians!
added   : SetRotation(angle) // angle in degrees!


Es ist zu beachten dass die Methode "setRotation" den Parameter "angle" als Radian erwartet, während die Funktion "SetRotation" ein Degree haben will. In künftigen Updates stelle ich nach und nach alle betroffenen Funktionen auf Degree um.

Auch wenn das Update klein aussieht, diese verflixte Rotation war ein riesiger Haufen Arbeit Smile

09.02.2011
Version 0.71 ist online

Ich habe die Funktionen "SetAlpha()" und "SetDrawMode()" implementiert. Die möglichen Modis und ihre Effekte kann man hier sehen:

user posted image

Farbfinsternis

BeitragDo, Feb 10, 2011 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.72 ist online (lies die Edits des letzten Posts um zu erfahren was seit Version 0.68 passiert ist)

Changelog:
Code: [AUSKLAPPEN]

added   : MouseWheel()
added   : Dim2D(cols, rows)
fixed   : SetScale() hatte keinen Effekt auf die Frames einer Animation
fixed   : MilliSecs() funktionierte erst nach "Graphics()"


Unter http://www.sedm.de/jbb/sample/test.php findet Ihr einen Benchmark. Dieser öffnet ein Canvas mit der Größe 1920x1080 Pixel und versucht die Hauptfunktion mit 60 Bildern pro Sekunde anzusteuern. Deine FPS kannst Du links oben ablesen.
Farbfinsternis.tv

Farbfinsternis

BeitragSa, Feb 12, 2011 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Changes:

* added : tImage.draw(jBBObject, x, y, frame)
* added : tSound.isReady()
* added : jBB.drawRoundRect(x, y, width, height, radius, solid)
* added : jBB.setShadow(offX, offY, blur)
* added : SetShadow(offX, offY, blur)
* changed : jBB.drawImage() wurde entfernt. Das Bild besitzt nun selbst eine Zeichenmethode
* changed : DrawImage() ruft nun direkt die draw() Methode des Image-Object auf
* changed : Bei ResizeCanvas() kann nun als zweiter Parameter "full" übergeben werden, dies skaliert das Canvas auf die gesamte Fenstergröße
* changed : DrawRect() hat nun zusätzlich die Parameter "radius" und "solid"
* fixed : Positionsfehler bei skalierten Bildern behoben
* fixed : DrawImage() ignorierte die Parameter x und y wenn nicht zuvor SetRotation() definiert wurde

Desweiteren habe ich ein weiteres Example hochgeladen. Mit dem Mausrad könnt Ihr dort das aktuelle Tile wechseln welches Ihr dann mit der Maustaste in die Map setzen könnt.
Farbfinsternis.tv

Eingeproggt

BeitragSo, Feb 13, 2011 2:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab ja lange Zeit nichts mit JS anfangen können aber jetzt wo ich mich damit beschäftige lerne ich deine Arbeit zu schätzen und muss schon mal meine Hochachtung aussprechen.
Werde dein Werk weiter verfolgen und hoffentlich mal einsetzen.
(und nein das is kein 0815-Standard-Motivierungsspruch damit mal was geschrieben wird - das mein ich ernst!)

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Farbfinsternis

BeitragMo, Feb 14, 2011 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für die Blumen Eingeproggt.


Version 0.74 ist nun verfügbar, die Seite und die Dokumentation wurden entsprechend erweitert. Primär ist ein Fehler im Objekt tSound behoben worden. Desweiteren wurde die Liste der Sound-Funktionen um die Möglichkeit erweitert zu prüfen ob der Browser die Formate MP3 oder OGG unterstützt.
Das Tilemap Example spielt nun eine Musikdatei ab, dabei wird (je nach Ability) ein MP3 oder ein OGG geladen.

Viel Spaß!
Farbfinsternis.tv

Farbfinsternis

BeitragDi, Feb 15, 2011 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Mini-Update (0.75): CanPlayMP3() und CanPlayOGG() könnnen nun auch außerhalb der Initialisierungsfunktion aufgerufen werden, um sicher zu stellen dass die Sounds im Mainloop auch verfügbar sind.

das Changelog:
Code: [AUSKLAPPEN]

added   : tColor.toString()
added   : tColor.getColorString()
changed : Die Funktionen CanPlayMP3() und CanPlayOGG() können nun auch außerhalb der Initialisierungsfunktion aufgerufen werden


Außerdem habe ich noch ein wenig die Performance verbessern können.
Farbfinsternis.tv

ozzi789

BeitragMi, Feb 16, 2011 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Verfolge dein Projekt mit grosser Interesse Smile
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Farbfinsternis

BeitragMi, Feb 16, 2011 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.76 schickt jBB in die Beta.

Changelog:
Code: [AUSKLAPPEN]

added   : tSound.getPosition()
added   : tSound.soundLoop(value)
added   : tSound.getLoopCount()
added   : GetSoundPosition()
added   : SoundLoop(sound, value)
added   : GetLoopCount(sound)
changed   : tSound.load() hat nun den Parameter "loop"
changed   : LoadSound() hat nun den Parameter "loop"


Das Tilemap-Example spielt zur Demonstration die Musik zweimal ab und stoppt dann die Wiedergabe.

Viel Spaß!
Farbfinsternis.tv

Farbfinsternis

BeitragDo, Feb 17, 2011 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
In 0.77 wurden 9 böse Bugs zertreten.

Changelog:
Code: [AUSKLAPPEN]

added   : tColor.set(r, g, b, a)
fixed   : Color-Object in Cls(), ClsColor(), SetColor(), SetShadow(), DrawRect(), DrawLine(), DrawOval(), DrawText()
fixed   : Cls() verursachte Warnungen wenn zuvor nicht ClsColor() aufgerufen wurde
Farbfinsternis.tv

Farbfinsternis

BeitragFr, Feb 18, 2011 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.78 ist online.

Mit dieser Version sind die Input-Funktionen aus dem Kern in externe Klassen ausgelagert. Dies wurde gemacht um einserseits später auf der Site ein jBB Paket zusammen bauen zu können (Ich brauche keinen Sound *klick*, ich brauche keine Tastatur *klick*, ich will aber WebSockets *klick* ... etc.), und andererseits um denjenigen mehr Kontrolle über die aktiven Eventhandler zu geben die jBB objektorientiert verwenden. Wir erinnern uns: Eventhandler sind ordentliche Bremsen in JavaScript.
Desweiteren wurden einige Fehler behoben die noch übrig geblieben sind als ich das JSON Objekt "jBB.color{}" auf die Klasse tColor umstellte.

Changelog:
Code: [AUSKLAPPEN]

added   : tMouse
added   : tMouse.init(canvasID)
added   : tMouse.hidePointer()
added   : tMouse.showPointer()
added   : tMouse.mouseX()
added   : tMouse.mouseY()
added   : tMouse.mouseDown()
added   : tMouse.mouseHit()
added   : tMouse.wheel()
added   : tKeyboard
added   : tKeyboard.init()
added   : tKeyboard.keyDown()
added   : tKeyboard.keyHit()
added   : tColor.get()
changed   : Alle Maus-Funktionen sind aus jBB nach tMouse verlagert worden
changed : das prozeduale Interface greift nun auf das neue Objekt tMouse zu
changed   : Alle Keyboard-Funktionen sind aus jBB nach tKeyboard verlagert worden
changed : das prozeduale Interface greift nun auf das neue Objekt tKeyboard zu
changed   : jBB.readPixel() gibt nun ein Objekt vom Typ tColor zurück
changed : tColor.getRed() heißt nun tColor.red()
changed : tColor.getGreen() heißt nun tColor.green()
changed : tColor.getBlue() heißt nun tColor.blue()
changed : tColor.getAlpha() heißt nun tColor.alpha()
removed   : jBB.rRed(), jBB.rGreen(), jBB.rBlue(), jBB.rAlpha()
fixed   : jBB.writePixel() griff auf das falsche Objekt zu
fixed   : jBB.readPixel() gabe ein JSON und kein tColor zurück
Farbfinsternis.tv

Farbfinsternis

BeitragSa, Feb 26, 2011 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles was passiert kann auf http://www.sedm.de/jmax nachgelesen werden. Dort gibt es nun einen Link zum jBB Forum in welchem Ihr Fragen stellen, Tutorials lesen, jBB Zeugs vorstellen oder einfach nur gucken könnt.

http://www.sedm.de/jmax/community
Farbfinsternis.tv
  • Zuletzt bearbeitet von Farbfinsternis am Di, März 08, 2011 17:36, insgesamt einmal bearbeitet

Lord Stweccys

BeitragDi, März 08, 2011 17:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Wirst du jBB später auch als Modul für Monkey anbieten?

Farbfinsternis

BeitragDi, März 08, 2011 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein
Farbfinsternis.tv

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group