Warum vermisst das keiner..???
Übersicht

![]() |
x-pressiveBetreff: Warum vermisst das keiner..??? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich will ja nichts sagen -aber nachdem ich von ActionScript auf Blitz umgestiegen bin, bin ich auf einige üble Mankos bei Blitz gestossen. Ich hoffe, da kann mich jemand eines besseren belehren:
1.) Einen Wert unter AS kann man auch so verändern: meineVariable += 1 meineSumme *= 5.5 Warum geht das mit Blitz nicht? 2.) Ultra-Kurze If-Statements mit AS: gameOver = (lives < 0)? 1 : 0 statt: if (lives < 0) { gameOver = 1; } else { gameOver = 2; } Geht wohl nicht mit Blitz, oder? 3.) Dynamische Variablen- und Objektnamen. Dies ist der schlimmste Verlust (es tut so weh! ![]() for (i = 1; i <= 100; i++) { eval("Rakete" + i)._y ++; } So einfach ist das! Zack! Mit Blitz bleibt aber wohl nix anderes übrig, als die langsamen und umständlichen Types zu benutzen, oder die zwar schnelleren, aber ebenso umständlicheren DIMs, oder wie? Wenn, ja WENN mann doch unter Blitz nur dynamische Ausdrücke verwenden könnte (z.B. eval() -gibt's ja sogar unter JavaScript ) -wieviel Arbeit würde das ersparen, das Leben um wie vieles einfacher machen... ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Suco-XBetreff: ..... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sei gegrüßt.
zu 1 : Da hast du recht Das geht mit BB nicht so. Muss halt Variable = variable+1. Ich denke aber es ist nicht so das Problem ein Wörtchen mehr zu schreiben. Zu 2 : So habe ich das eigentlich noch bei keiner Programmiersprache geshen. Action Script kenne ich auch nicht. Aber ein : If lives<0 GameOver = 1 else GameOver = 2 endif Wird dir wohl auch nicht die Fingerchen vor schreibarbeit brechen. Frage mich auch warum du auf einmal noch mit C++ Code hier anfängst!? zu 3: Jo, da wirst du wohl mit dims oder Types arbeiten müssen. Normal sollte das auch kein Problem darstellen. BB ist eine Programmiersprache, kein scripting Zeugs. Du hast zwar die éin oder andere möglichkeit die dir fehlt, BB ist aber schnell und logisch. Desweiteren bezweifel ich noch das es so ne script sprache überhaupt ansatzweise in sachen nutzen und schnelligkeit mit BB types oder dims aufnehmen kann. Wird dir wohl nichts anderes übrig bleiben als solche sachen zu nutzen, ansonsten bleib bei deinem Action Script. bye |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1 und 2 gibts beide in C++ (daher kommen sie). 3 geht bei BB nicht, weil BB nicht interpretiert wird. Ich finde, es gibt schlimmere Mankos. | ||
René Meyer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] for (i = 1; i <= 100; i++)
{ eval("Rakete" + i)._y ++; } So einfach ist das! Zack! Mit Blitz bleibt aber wohl nix anderes übrig, als die langsamen und umständlichen Types zu benutzen, oder die zwar schnelleren, aber ebenso umständlicheren DIMs, oder wie? Ja, in Basic ist das alles sehr viel aufwendiger. :) Code: [AUSKLAPPEN] For i=1 To 100
Rakete(i,1) = Rakete(i,1) + 1 Next |
||
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
2. Ultrakurze If-Statements gehen auch in BB(allerdings nur mit Rückgabe 0(Falsch) & 1(Wahr)):
gameOver = (lives<0) Ist sogar kürzer als bei Dir ![]() Außerdem heisst kürzer nicht unbedingt besser. Meistens leidet da die Lesbarkeit eines Codes... |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klar, mit längeren IFs kann ich leben, so flexibel bin ich noch ![]() Mein Problem: ich wollte einen kleinen Partikel-Emitter mit B3D basteln (die Partikel sind kleine Entities, nur so zum Test). Also habe ich mal versucht, in einem Array Referenzen zu jedem dieser Partikel abzulegen: Dim particles(9999) for i = 0 to 100 particles (i) = createSphere() next Das gibt aber einen Memory Violation Error. Wie kann ich denn sonst durch meine Objekte loopen bzw. Referenzen zu jedem Objekt so ablegen, daß ich sie per Schleife durchgehen kann? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin froh, daß das so nicht geht.
Der große Vorteil von BASIC ist die Übersichtlichkeit und gute Verständlichkeit des Codes. BASIC ist mehr an menschliche Sprache orientiert. Das ist ein wesentlicher Punkt. Die Zeilen die du in AS geschrieben hast sind deutlich weniger übersichtlich und verständlich als in BlitzBasic. Das mag bei 1-2 Zeilen keine große Sache sein, aber in einem sehr großen Code an Stellen wo was wirklich Kompliziertes gemacht wird(sagen wir mal tief verschachtelte Pathfinding-Rutine oder Gruppenbewegung in ein Echtzeitstrategiespiel) - noch mehr wenn es um Fehlersuche geht - ist das schon ein gewaltiger Unterschied und Vorteil zu Gunsten von Basic. |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
"Wie kann ich denn sonst durch meine Objekte loopen bzw. Referenzen zu jedem Objekt so ablegen, daß ich sie per Schleife durchgehen kann?"
- benutze TYPEs dafür. Damit geht das. Gib jedem TYPE-Objekt einen (einmaligen) ID-Nummer und dann beziehe dich darauf. |
||
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stichwort: Types
Machen sich hervorragend für variable Datenmengen wie sie Partikel darstellen. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bäh -die sind von der Syntax her so schrecklich umständlich... kann man denn Objekt-Referenzen in Types ablegen? Gibt es auch andere Möglichkeiten, oder MUSS ich hier Types benutzen? | ||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Type tPartikel Field x#,y#,z# ; Partikelposition Field obj ; Handle (kann ein Sprite oder ein Objekt sein) Field dir#[2] ; Richtungsvektor Field alpha# ; ausblenden End Type Global part.tPartikel Function CreateParticle(count) For i=0 To count part.tPartikel = New tPartikel ; hier die Eigenschaften festlegen ; -> part\x# = x# ; Next End Function Function UpdateParticles() For part.tPartikel=Each tPartikel ; Eigenschaften jedes Partikels verändern ; part\alpha#=part\alpha#-0.01 ; If part\alpha#<=0 Then Delete part Next End Function Ich finde nicht dass das Type-Handling unübersichtlich oder kompliziert ist ... alles sehr übersichtlich. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: meineVariable += 1
Das ist GIFT in meinen Augen - weder logisch, noch gut lesbar - einziger Vorteil: kürzerer Code Aber freu dich auf BBmax - da soll sowas gehen: meineVariable+1 Zitat: gameOver = (lives < 0)? 1 : 0
Das ist auch Schrott - unlogisch, schlecht lesbar - typisches C-Stuff eben gameOver = (lives < 0) ist logisch und gut lesbar - aber ist nicht das selbe - ich weiß Zitat: Dynamische Variablen- und Objektnamen.
Das wirst du in kaum einer Sprache finden - finde dich damit ab... Was du vorhast, das lässt sich in BB in X versch. Varianten lösen... Warum willst du dann sowas "komplizier" |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dynamische Variablennamen gibt es in einigen Sprachen - sogar PHP ![]() |
||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
php wird aber ebenfalls interpretiert ![]() nö, ich bin im allgemeinen recht zufrieden mit bb. könnte ein paar mehr funktionen geben...was stringverarbeitung etc angeht, aber das kann man in aller regel auch selbst erstellen (wenn auch nicht mit der performance wie "harte" funktionen). |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
TheShadow hat Folgendes geschrieben: meineVariable += 1
Das ist GIFT in meinen Augen - weder logisch, noch gut lesbar - einziger Vorteil: kürzerer Code gameOver = (lives < 0)? 1 : 0 Ich programmiere so nun schon seit fast einem halben Jahrzehnt, und gerade WEIL Code dadurch übersichtlicher, kürzer und besser lesbar wird, habe ich mich gänzlich darauf umgestellt. Zeilen werden dadurch erheblich kürzer, der 'Zeichensalat' verringert sich deutlich, Code ist einfacher zu warten, da er auch schneller zu lesen ist. Natürlich erscheint es einem zuerst ungewohnt, deshalb verstehe ich deine Ansicht. Aber lass' dich mal darauf ein, dann wirst du die Vorzüge schon erkennen. Ich vergleiche das immer gerne mit Deutsch und Englisch. Wofür man im Deutschen gerne einen superausführlichen Satz samt Nebensatz braucht, wird im Englischen klar und kurz, meist durch ein treffendes Schlagwort ausgedrückt. |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Master C |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafür musst du aber erst mal alle Schlagwörter wissen -> größerer Lernaufwand
"meinevariable+=1" finde ich auch gewöhnungsbedürftig, "meinevariable+1" wäre übersichtlicher (ich nehme an, das "meinevariable+=1" einfach eine 1 zu meinevariable addiert? ). Im Übrigen: Warum sollte BB jetzt der Syntax von AS angepasst werden? Genauso kann man gleich auf C-Syntax umsteigen. Jede Sprache hat halt ihre Vorteile ![]() |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Na, meinetwegen - meineVariable+1 ist auch okay ![]() Aber das ist Kleinkram. Was mir wirklich höllisch abgeht, ist die dynamische Auswertung von Variabel-, Objekt- und Funktionsnamen. Das ist so schön effizient. Aber damit werde ich dann wohl leben müssen... seufz ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also nix für ungut, aber da ist mir das gute alte x = x + 1 auch lieber. Über die Andere Form würde ich mich todärgern weil sie, zwar etwas kürzer, aber unlogisch ist.
Variable+ = 1 (Variable und ...[ja was denn]... ist gleich 1) "Expecting expression" ![]() |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wär froh wenn es neben den Types noch sowas wie Klassen geben würde, mit eigenen Methoden usw.
Aber sonst mit Syntax bin ich auch recht zufrieden. |
||
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
myVar+=Value finde ich extrem nützlich und ist auch sehr einfach zu lesen ... auch so Sachen wie Methoden in Types vermisse ich schmerzlich. Was ich aber jeden Tag verfluche ist, warum gibt es kein myVar++ / myVar-- / ++myVar / --myVar ???? | ||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group