Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
04.06.2014, 21:32
sourceskyboxer



Hallo, gnädige Herren und Damen,

möchte ich ihnen über Entwicklung zum Flash Player / Adobe Air zu sprechen.

Die tolle Bibliothek namens Papervision 3D wurde schon seit Flash Player 8 und auch 10.2 erobert. Da habe ich was entdeckt, dass Papervision auch Quake 1/1/2 Engine ( =/= Half-Life Engine ) einfach betrieb.

Quake 2 Engine und Half-Life Engine sind fast gleich.
BspLump steht 15 verschiedene Lump-Variablen ganz fest.
Aber manche Lump Variable ist nicht gleich sondern ähnlich, wie
LUMP_TEXTURE_INFO bei der Quake 2 Engine und LUMP_TEXINFO bei der Half-Life Engine.

Quake 2 Engine Lumps oder einfach zeigt es hier Papervision AS3 Quake
Half-Life Engine Lumps

Beispiel: Erstes Spiel Quake auf Flash Player betreiben.

Und Papervision 3D nur Google Code
Darf ich fragen, wieso habe ich diesen Thread eröffnet?

Wollte ich etwa Half-Life zum Flash Player betreiben lassen um meine Idee fertig zu machen.

Ich habe kleines Problem mit BspModel.as um der neuen Variable "hitbox" einzufügen, ob Half-Life Models sicher hitbox haben.

BspEntity.as sollen wir etwa wichtigste Variablen aus der FGD Syntax mehr reinschreiben.

BspReader.as braucht wohl Skybox ausm Verzeichnis ( /gfx/env/<skyname>XX.tga ) um das Himmel zu platzieren / ( sichtbar zu machen )

XX = bk, dn, ft, lf, rt und up werden alles brauchen...

mdl Datei von der Half-Life Engine genau strukturieren ( Inhalt durch Flash Player laden oder zeigen )

* = fest zu coden!
?! = unsicher zu coden!
X = nicht zu coden!

Sprite Datei ( *.spr )
SprReader.as *
SprData.as *
SprLump.as ?! X
andere as Dateien

Wad Datei ( *.wad )
WadReader.as *
WadLump.as *
WadPalette.as * ?!

BspTexture.as und BspTexInfo.as brauchen tga Format wegen Half-Life Engine.

bsp, wad, mdl, spr und pak Dateien sind ähnliche Zip Format.
Klasse: nochump.util.zip.*

DLL, SO oder DYLIB Bibliotheken?
Pff ich brauche nichts. Bleibt ihr lieber cool!
Flash Player hat genannte Funktion: "Worker" um zweite swf Datei von "hl.dll", "hl_i368.so" oder "hl_osx.dylib" als "hl.swli" ( Zuerst kompiliert die Worker-SWF fertig, dann ändert die Dateiendung ".swf" zu ".swli". )
// Edit: Entschuldige mich bitte! Wegen falscher Version weil Flash Palyer zu 10.2 setzen muss. Deshalb gibt es keine Funktion "Worker". Es tut mir leid.
Ich habe richtig gedacht, wie Loader und SystemManager via Object oder MovieClip via Funktion oder Variable greifen.:)

Bibliothek Datei ( z.B. hl.swli )
Funktionen und Variablen müssen von C++ und Header Dateien als nur Actionscript ( *.as ) umwandeln. Wer kann gut von C++ / header zu AS3 umwandeln? Zum beispiel: Wie ähnlich java Erkenntnis.
z.B. C++:
public int char

als AS3:
public var char:int;

Oder C++ Funktion:
public:
int function(int alpha);
// Geh hier!

als AS3:
public function int(alpha:int):void
{
// Geh hier!
}

Ich weiss, dass es schwer von C++ zur AS3 bei der Umsetzung ist.
Ich empfehle einfach HL-SDK 2.4 ( aus der Steam herunterladen oder ältere Version von HL-SDK holen ).

Und liblist.gam soll als XML Struktur oder Json Struktur für Flash Player oder Adobe Air via Invoke-Weiterleitung auch leicht betreiben.
Für FileSystem muss die Kette zwischen Haupt und gam Datei mit If-else Anweisung betreiben. z:B. myapp.exe -game "Mod-Name" wie valve oder cstrike als die Kette ( = String ) direkt FileSystem zu binden.

Wenn ihr einverstandens eid, dann könnt ihr mir bisschen helfen und können wir machen?

Vielen Dank für die Unterstützung bei eurer Hilfe!

--

Ich bin gehörlos Danke Thewall Fans!


Dieser Beitrag wurde am 04.06.2014 um 21:56 von sourceskyboxer bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
05.06.2014, 09:38
Alcapone



Ich denke, Flash wird nicht mehr lange existieren und es ist vergangene Liebesmühe, das ganze noch in Actionscript umzusetzen. Interessanter ist eine Implementierung in WebGL, da dies keine proprietäre Technologie ist und in jedem Browser läuft.
Es gibt bereits einige WebGL Libraries, die vielversprechende Ergebnisse liefern können wie z.B. Babylon, Three.js usw...

--

"Everything, that can go wrong, will go wrong" Murphy's Law

zum Seitenanfang zum Seitenende Profil || Suche
002
09.06.2014, 01:28
sourceskyboxer



@Akapone,
Pah, willst du Flash ins Grab beerdigen? Pff!

Aber Flash Player lebt noch....

Meine Entscheidung steht Flash und Adobe Air.
Ich möchte eine Lese oder Schreibe für Map Format von Half-Life Engine zu basteln. Es tut mir leid, dass C++/Header schwer für mich ist. Ich kenne mit Actionscript 1 bis 3 seit August 2001 sehr gut. Quelle von Nem's Tools wie Map-Reader oder Map-Writer bei C++. Ich verstehe überhaupt nicht, dass ich von C++ zur Actionscript formulieren. Wenn du Actionscript 3 kennst, dann würdest du mir etwa helfen.

1. Wenn ich Map Datei von Air Application öffne und liest die Air Application MapData oder MapContent aus. Und ich bearbeite Map Datei und ich speichere Map Datei wieder.
z.B.
Quellcode:{
"classname" "worldspawn"
"sounds" "1"
"WaveHeight" "0.0"
"MaxRange" "4096"
"mapversion" "220"
"wad" "\tools\valve hammer editor\wads\hl\halflife.wad;\tools\valve hammer editor\wads\hl\liquids.wad;\tools\valve hammer editor\wads\hl\xeno.wad"
{
( 0.000 64.000 64.000 ) ( 64.000 64.000 64.000 ) ( 64.000 0.000 64.000 ) AAATRIGGER [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( 0.000 0.000 0.000 ) ( 64.000 0.000 0.000 ) ( 64.000 64.000 0.000 ) AAATRIGGER [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( 0.000 64.000 64.000 ) ( 0.000 0.000 64.000 ) ( 0.000 0.000 0.000 ) AAATRIGGER [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( 64.000 64.000 0.000 ) ( 64.000 0.000 0.000 ) ( 64.000 0.000 64.000 ) AAATRIGGER [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( 64.000 64.000 64.000 ) ( 0.000 64.000 64.000 ) ( 0.000 64.000 0.000 ) AAATRIGGER [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 0.5 0.5
( 64.000 0.000 0.000 ) ( 0.000 0.000 0.000 ) ( 0.000 0.000 64.000 ) AAATRIGGER [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
}
Ich erstelle zum erster Versuch. PS Funktionen fehlen bei mir. Mein Kopf drückt total aus. Wie formuliere ich richtig aus? Poah. es ist sehr kompliziert, weil ich tolle Möglichkeit für Half-Life entwickeln wollte.
Quellcode:package net.sourceskyboxer.utils
{
    import flash.geom.Vector3D;
    import flash.utils.ByteArray;
    import org.papervision3d.objects.primitives.*;

    public class mapData
    {
        /**
         *     ( x1 y 1 z1 ) ( x2 y2 z2 ) (x3 y3 z3 )
         */
        private var vec1:Vector3D;
        private var vec2:Vector3D;
        private var vec3:Vector3D;
        private var x1:Number; private var y1:Number; private var z1:Number;
        private var x2:Number; private var y2:Number; private var z2:Number;
        private var x3:Number; private var y3:Number; private var z3:Number;
        
        /**
         *     texture [x-texvector x-shift][y-texvector y-shift]
         */
        private var texture:String;
        private var texVecX:Vector3D;
        private var texShiftX:Number;
        private var texVecY:Vector3D;
        private var texShiftY:Number;
        private var tx:Number; private var ty:Number; private var tz:Number;
        
        /**
         *     angle x-scale y-scale
         */
        private var texAngle:Number;
        private var txScale:Number;
        private var tyScale:Number;
        
        /**
         *     Mesh 3D ( Object 3D )
         */
        private var trinobj:TriangleMesh3D;
        private var cubeobj:Cube;
        
        /**
         *     Constructor
         */
        public function mapData()
        {
            super();
        }
        
        public function ReadMapData(filename:String, data:ByteArray, ......):void
        {
            var _filename:String = filename;
            
            /**
             * (x1y1z1 ) (x2y2z2 ) (x3y3z3 )
             * texture [x-texvector x-shift][y-texvector y-shift]
             * angle x-scale y-scale
             */
            vec1 = new Vector3D(x1, y1, z1);
            vec2 = new Vector3D(x2, y2, z2);
            vec3 = new Vector3D(x3, y3, z3);
            
            texture = "";
            
            texVecX = new Vector3D(tx, ty, tz);
            texShiftX = Number;
            
            texVecY = new Vector3D(tx, ty, tz);
            texShiftY = Number;
            
            texAngle = Number;
            txScale = Number;
            tyScale = Number;
            
            ...
        }
    }
}
ReadMapData soll Funktion heißen, ob sie komplette Map Struktur genau lesen könnte.

WriteMapData ist Funktion für neuer Map-Inhalt zu erstellen / erneuen.

If-Else Anweisung? For-Anweisung oder while-Anweisung usw..

Wenn sie richtige Classname mit Worldspwam endeckt, dann wird sie weiterführen.

Wenn Funktion falsch entdeckt, dann würde sie verweigern z.B.
mapversion="220" für Half-Life Maps
Falsche Version: mapversion="unknown" wie Quake oder andere Spiele.

Wenn sie Brush Vektor-Array komplett gefunden hat, dann wird sie in der Ansicht ( Camera 3D ) sichtbar machen.

Wenn sie verschiedene Entities gefunden hat, dann macht sie auch in der Ansicht sichtbar.

Abschließend wird sie Ende der Map-Inhalt aufgehört, dann wird sie inaktiv und ich werde die Map endlich bearbeiten oder ändern.

Nach der Änderung wird die Funktion beim Schreiben mit der Map Datei.
Sie schreibt erneut oder aktuell(updated)

PS: Ich kenne fZip ( AS3 Bibliothek bei der Datei Wad und Spr auch pak Datei und auch Steam-Packungen ( *.gcf ) wenn die Funktion liest Texture-Name aus der Wad Datei oder findet fehlender Model aus der Steam-Packung usw...

Vielen Dank für die Verständniss! Ich möchte leider zu zwingen, weil ich lieber miT Actionscript 3 programmieren will. Auch HTML5 und CSS3, aber ein wenig Javascript und PHP.

Ich kenne nicht C++/Header, weil ich über C++/Header Geschichte vergessen habe. Es tut mir leid. Sei mir bitte nicht ärgerlich! Ich bin leider verzweifelt, dass ich keine Support gefunden habe. z.B. Genaue professionelle Erklärung bei der Actionscript 3.

Ach ja ich kenne Actionscript 1 und 2 sind sehr einfach, weil ich beim Flash MX ( 6 ) öfter gearbeitet habe. Actionscript verstehe ich bisschen okay. Aber for-, if-else oder verschiedene hoch-professionelle Anweisungen verstehe ich manchmal nicht. Ich mache Sorge.

--

Ich bin gehörlos Danke Thewall Fans!


Dieser Beitrag wurde am 09.06.2014 um 01:39 von sourceskyboxer bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
09.06.2014, 01:40
sourceskyboxer



// Edit: Entschuldige mich bitte wegen Doppelpost :( weil mein beitrag so lang ist :(
Ich habe geschafft, dass Air Application nur Einzel-Window von unserem Benutzer gegriffen wurde. Das ist kein Alarm sondern ich erkläre dir. Wie kann ich Einzel-Fenster "einmal" klicken?

z.B. aboutWin = AboutWindow()
main.mxml:
Quellcode:<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute"
                        showStatusBar="false" >
    
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;
            
            import net.sourceskyboxer.utils.AboutWindow;

            private var aboutWin:AboutWindow;
            protected function aboutClick(event:MouseEvent):void
            {
                for (var i:int = 0; i < 1; i++)
                {
                    if(!nativeApplication.openedWindows[1])
                    {
                        aboutWin = new AboutWindow();
                        aboutWin.systemChrome = NativeWindowSystemChrome.STANDARD;
                        aboutWin.resizable = false;
                        aboutWin.type = NativeWindowType.UTILITY;
                        aboutWin.open(true);
                        aboutWin.orderToFront();
                    }
                    
                }
            }

            
        ]]>
    </fx:Script>
    
    <fx:Declarations>
        <!-- Platzieren Sie nichtvisuelle Elemente (z.B. Dienste, Wertobjekte) hier -->
    </fx:Declarations>

    <mx:Button right="10" top="10" label="About" click="aboutClick(event)"/>
</mx:WindowedApplication>
AboutWindow.mxml
Quellcode:<?xml version="1.0" encoding="utf-8"?>
<mx:Window xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" width="300" height="150"
           showStatusBar="false">
    
    <fx:Script>
        <![CDATA[
            import flash.net.navigateToURL;
            protected function closeClick(event:MouseEvent):void
            {
                nativeWindow.close();
            }
            
            protected function infoClick(event:MouseEvent):void
            {
                navigateToURL(new URLRequest(""));
            }
            
            protected function helpClick(event:MouseEvent):void
            {
                navigateToURL(new URLRequest(""));
            }
            
        ]]>
    </fx:Script>
    
    <fx:Declarations>
        <!-- Platzieren Sie nichtvisuelle Elemente (z.B. Dienste, Wertobjekte) hier -->
    </fx:Declarations>
    <mx:Image top="10" left="10" width="48" height="48"/>
    <mx:Text top="10" left="70" bottom="40" right="10"/>
    
    <mx:Button left="10" bottom="10" label="Info" click="infoClick(event)"/>
    <mx:Button left="70" bottom="10" label="Help?" click="helpClick(event)"/>
    <mx:Button right="10" bottom="10" label="Close" click="closeClick(event)"/>
</mx:Window>
Das ist ein erstes Einzelfenster per richtigen "Click" ohne weiteren Fenstern zu klicken.
Bis dann...

--

Ich bin gehörlos Danke Thewall Fans!


Dieser Beitrag wurde am 09.06.2014 um 01:42 von sourceskyboxer bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
09.06.2014, 13:23
sourceskyboxer



@Alcapone: PS: Ich habe was gefunden. Es klingt komisch, dass du gegen mich Flash zum Aussterben bedrohst. Ich habe Seite von Apache entdeckt. Da ist FlexJS eine Art von Actionscript2Javascript Konvertierung. Warum hat niemand mir vorher gesagt? :( Ich bin sehr enttäuscht, dass die Entwicklung bei der Flash- und Air Laufzeit als "JS und HTML5, CSS3 umgesetzt hat. Aber ich sehe eigene Adobe Air nur Flash Datei ( *.swf ) Manchmal benutzt Air Programme überhaupt nicht mit HTML Dateien :(. Flash Player gewinnt gegen HTML5.

Verdammt muss ich ganzes Flash Project als Javascript umwandeln. Shit!
Danke für Tipp. ich bin anstregend :( Aber Ich kenne sehr gut mit Actionscript3.

--

Ich bin gehörlos Danke Thewall Fans!

zum Seitenanfang zum Seitenende Profil || Suche