jBB <basic-style-canvas />

Übersicht Sonstiges Smalltalk

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

Neue Antwort erstellen

Farbfinsternis

BeitragSa, Okt 09, 2010 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Version 0.6 ist auf dem Server. Einige Sachen sind noch nicht wieder eingeflossen da diese nicht so praktikabel sind wie in BB, aber das werde ich über detaillierte Tutorials erklären. Zuerst mal das Changelog für die Version 0.6:
Code: [AUSKLAPPEN]

added   : BobRange(bob, rangeName, firstFrame, lastFrame, frameSpeed)
added   : SetBobRange(bob, rangeName)
added   : ResetBob(bob)
added   : DeleteBobRange(bob, rangeName)
added   : GetScaleX()
added   : GetScaleY()
added   : Desktop()
added   : DesktopWidth(desk)
added   : DesktopHeight(desk)
added   : Red()
added   : Green()
added   : Blue()
added   : Alpha()
added   : das Objekt jBB
added   : jBB.backbuffer()
added   : jBB.cls()
added   : jBB.clsColor(r, g, b)
added   : jBB.colorToString(color)
added   : jBB.desktop()
added   : jBB.drawImage(image, x, y, frame)
added   : jBB.drawLine(x1, y1, x2, y2)
added   : jBB.drawRect(x, y, width, height)
added   : jBB.drawText(text, x, y)
added   : jBB.flushBuffer(buffer, x, y)
added   : jBB.graphics(canvasID, mainLoop, fps)
added   : jBB.graphicsHeight()
added   : jBB.graphicsWidth()
added   : jBB.keyDown(key)
added   : jBB.keyHit(key)
added   : jBB.loadAnimImage(filename, cellWidth, cellHeight, cellCount)
added   : jBB.loadImage(filename)
added   : jBB.milliSecs()
added   : jBB.mouseDown()
added   : jBB.mouseHit()
added   : jBB.mouseX()
added   : jBB.mouseY()
added   : jBB.setColor(r, g, b, a)
added   : jBB.setScale(scaleX, scaleY)
added   : jBB.writePixel(buffer, x, y)
added   : jBB.readPixel(buffer, x, y)
added   : jBB.stringWidth(text)
added   : jBB.loadFont(family, filename, isBold, isItalic)
added   : jBB.setFont(family, height, isBold, isItalic)
added   : jBB.rand(min, max)
added   : das Objekt tBobRange
added   : das Objekt tBob
added   : tBob.create(image, firstFrame, lastFrame, frameSpeed)
added   : tBob.createRange(rangeName, firstFrame, lastFrame, frameSpeed)
added   : tBob.deleteRange(rangeName)
added   : tBob.draw(x, y)
added   : tBob.reset()
added   : tBob.setRange(rangeName)
added   : tBob.start()
added   : tBob.stop()
added   : tBob.setSpeed(speed)
added   : das Objekt tColor
added   : tColor.getRed()
added   : tColor.getGreen()
added   : tColor.getBlue()
added   : tColor.getAlpha()
added   : tColor.reset()
added   : tColor.setRed(value)
added   : tColor.setGreen(value)
added   : tColor.setBlue(value)
added   : tColor.setAlpha(value)
added   : das Objekt tDesktop
added   : tDesktop.getWidth()
added   : tDesktop.getHeight()
changed   : FlushBuffer() hat nun die zusätzlichen (optionalen) Parameter x, y


Download jBB V0.6 (ca. 16kb)

Es ist nun möglich für die "Bobs" Ranges zu erstellen. Beispiel: Man hat ein AnimImage mit allen Animationen die die Figur ausführen kann. Nehmen wird an die Frames 0 - 7 stellen eine Geh-Animation dar, dann kann man mittels BobRange(bob, "walk", 0, 7, 100) festlegen dass der Bob "bob" eine Animation namens "walk" erhalten soll welche bei Frame 0 startet und bei Frame 7 ended und alle 100 Millisekunden aktualisiert werden soll. Ist diese Range erstellt kann sie jederzeit mittels "SetBobRange("walk");" aktiviert werden.
Farbfinsternis.tv

Skabus

BeitragSo, Okt 10, 2010 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Heißt das dann nicht quasi, dass ich für einen Bob einmal eine Animation erstelle und diese dann nur mit
dem SetBobRange(...) aufrufen muss?

Oder muss die Animation wenn ich sie z.B. wechseln will jedes Mal neu erstellt werden?
Weil ansonsten könnte man ja alle benötigten Animationen am Anfang erstellen und muss
sie im Programm nur noch "aufrufen".

Das würde ich ungemein praktischer finden, als dass ich mich jedes Mal selber drum kümmern muss,
welchen Frame ich wo und wie hochzählen muss...


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Farbfinsternis

BeitragSo, Okt 10, 2010 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hast Du falsch verstanden. Bobs sind dafür da dass man sich eben nicht selbst um das inkrementieren des Frames kümmern muss. Du definierst einmal vor dem MainLoop den Bob und seine Ranges und kannst diese dann im MainLoop verwenden. Also:

- Anim laden mit LoadAnimImage()
- Bob erstellen: CreateBob(anim, erstesFrame, letztesFrame, Geschwindigkeit)
- Range erstellen: BobRange(bob, "walk", erstesLaufFrame, letztesLaufFrame, Laufgeschwindigkeit)
- Range erstellen: BobRange(bob, "fightLeft", erstesFrame, letztesFrame, Kampfgeschwindigkeit)
... etc ...
- Animation starten

im MainLoop:

SetBobRange(bob, "walk"); // Laufanimation wird abgespielt
SetBobRange/bob, "fightLeft"); // Kampfanimation wird gespielt
Farbfinsternis.tv

Skabus

BeitragSo, Okt 10, 2010 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Argh, da muss ich mich schlecht ausgedrückt haben^^

Genau das meinte ich ja.

Danke für die Erklärung^^


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Farbfinsternis

BeitragSo, Okt 10, 2010 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Dank dem User Logout konnte noch ein Bug entfernt werden der ganz allgemein verhindert hat dass man die jBB.js verwenden konnte Wink

Wer immer auf dem aktuellen Stand sein möchte sollte das Framework so einbinden:
Code: [AUSKLAPPEN]

<script type="text/javascript" src="http://www.sedm.de/jbb/js/jbb.js"></script>
Farbfinsternis.tv

Farbfinsternis

BeitragDi, Okt 12, 2010 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
BUUGS!!

Die Fehler im "Image-System" sind nun behoben. Der Link ist derselbe wie im letzten Post. Dank an Logout für den Bugreport
Farbfinsternis.tv

Farbfinsternis

BeitragDo, Okt 14, 2010 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt sollte wieder alles ordentlich funktionieren, sowohl das neue OOP Interface als auch die prozeduale Variante. Hier ist der Download: http://www.sedm.de/jbb/js/jbb.js

prozeduales Sample:
http://www.sedm.de/jbb/sample/proc.php

OOP Sample:
http://www.sedm.de/jbb/sample/
Farbfinsternis.tv

Xaymar

ehemals "Cgamer"

BeitragDo, Okt 14, 2010 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist das gewollt das der sich drehende panzer beim nicht-oop unter dem stillen ist, aber beim oop beispiel über?
Warbseite

Farbfinsternis

BeitragFr, Okt 15, 2010 9:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Da war einfach nur die Zeichenreihenfolge anders, ich habe es für Dich umgedreht Wink
Farbfinsternis.tv

Lord Stweccys

BeitragSa, Okt 16, 2010 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Das OOP Sample ist langsamer als das andere.
 

Macintosh

BeitragSo, Okt 17, 2010 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir nicht. beides gleich schnell.

Lord Stweccys

BeitragSo, Okt 17, 2010 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss dazusagen, dass ich beides auf einem ganz lahmen Notebook ausgeprobiert habe und auf dem hat man diesen Unterschied deutlich gespürt Very Happy

Farbfinsternis

BeitragMo, Okt 18, 2010 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Es kann eigentlich nicht sein dass das prozeduale Sample schneller ist da die Funktionen nichts weiter tun als das OOP Interface zu nutzen.
Farbfinsternis.tv

Lord Stweccys

BeitragMo, Okt 18, 2010 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht sollten wir das Notebook zu Galileo Mistery schicken Very Happy

faeX

BeitragMo, Okt 18, 2010 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
[ot]
Die Lösung: "UFOs könnten es gewesen sein, einen Beweis haben wir aber nicht."
[/ot]

Farbfinsternis

BeitragDo, Dez 30, 2010 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Vor Jahresende wollte ich noch ein Update bringen und habe soeben die Version 0.61 hochgeladen:

http://www.sedm.de/jbb/js/jbb.js

Changelog:
Code: [AUSKLAPPEN]

added   : Include(scriptname)
added   : das Objekt tSound
added   : tSound.load(filename)
added   : tSound.play()
added   : tSound.pause()
added   : tSound.stop()
added   : tSound.volume(vol)
added   : tSound.setPosition(secs)
added   : tSound.getDuration()
added   : LoadSound(filename)
added   : PlaySound(sound)
added   : PauseSound(sound)
added   : StopSound(sound)
added   : SoundLength(sound)
added   : SoundVolume(sound, vol)
added   : SetSoundPosition(sound, sec)

Bei den Sounds sollte man im Hinterkopf behalten dass alle Browser das Audio-Element anders behandeln und es auch nicht jedes erdenkliche Format laden kann. >> Hier << findet ihr eine Liste aus der man entnehmen kann welcher Browser welche Formate unterstützt.
Farbfinsternis.tv

Farbfinsternis

BeitragSo, Jan 30, 2011 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Schonmal ein Hint für die nächste Version

Changelog
Code: [AUSKLAPPEN]

30.01.2010 - V0.62
added   : jBB.graphics3d(canvasID, fps, mainLoop)
added   : jBB.cameraClsColor(red, green, blue, alpha)
added   : Graphics3D(canvasID, fps, mainLoop)
added   : CameraClsColor(red, green, blue, alpha)
Farbfinsternis.tv

Plasma

Betreff: ups 3d

BeitragSo, Jan 30, 2011 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
das wird ja immer besser ! Razz

Farbfinsternis

BeitragSo, Jan 30, 2011 23:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe die alte Seite nochmal aktualisiert weil ich mit der neuen nicht fertig werde. Die komplette Dokumentation, das Changelog und der Download der Version 0.62 findet sich wie gehabt auf http://sedm.de/jmax/
Farbfinsternis.tv

Farbfinsternis

BeitragMo, Jan 31, 2011 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
0.63 ist online.

Neu ist:
ResizeCanvas(canvasID, width, height)
Damit kann auf die Größenangabe im Canvas-Element verzichtet werden. Man kann das Canvas so vor dem Aufruf von Graphics() oder Graphics3D() auf Größe bringen. Beispielsweise kann man so erreichen dass das Canvas das Browser-Fenster/Tab komplett ausfüllt:
Code: [AUSKLAPPEN]

<!DOCTYPE html>
<html>
<head>
   <title>Test - jB3D</title>
   
   <script type="text/javascript" src="../js/jquery.js"></script>
   <script type="text/javascript" src="../js/jbb.js"></script>
   
   <script type="text/javascript">
      $(document).ready(function(){
         var desk = Desktop();
         ResizeCanvas("game", DesktopWidth(desk), DesktopHeight(desk));
         Graphics("game", game, 30);
      });
      
      function game(){
         Cls();
      }
   </script>
</head>
<body>
<canvas id="game">
   Dein Browser unterst&uuml;tzt das Canvas Element nicht.
</canvas>
</body>
</html>


CreateMesh()
Erzeugt ein neues leeres 3D Objekt

AddVertex(mesh, x, y, z)
Fügt dem Mesh einen neuen Vertex hinzu.

CreateCamera()
CameraRange(cam, near, far)
PositionEntity(entity, x, y, z)

Rendern kann man noch nichts da RenderWorld() noch fehlt, aber es geht gut vorwärts Wink
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