{lang: 'de'}
Flashhilfe.de - Flash Community

onEnterFrame innerhalb Klasse [Flash 11]

 


AntwortenRegistrieren Seite1  

bilblo#1
Benutzerbild von bilblo
Beiträge: 28
Registriert: Sep 2011

06.10.2011, 22:10

Ich hab eine Scene in papervision erstellt. Sie beeinhaltet Plane, Cube , Lichtobject
Sie wird zwar ohne fehler erzeugt jedoch mit ätzenden Problemen ^^.
Z.b. hab ich innerhalb des konstruktors 4 addEventListener.ENTER_FRAME  die 4 methoden aufrufen

- für den Renderprozess
- für der Abfrage ob gewisse Tasten gedrückt sind
- für der Abfrage ob  diese Tasten nicht gedrückt sind
- für die Navigations der Camera  mit Hilfe der Tasten und der Maus

die Drehung mit der Maus funktioniert aber nicht die Bewegung mit den Tasten.
-Woran liegt das ?

-Ausserdem falls ich im Konstruktur oder sonst wo stage.stageHeight verwende kommt ne fehlermeldung: "möglicher statischer verweis  etc.."

- Wie ihr auf der Seite sehen könnt schneidet die Camera oder Viewport oder Render ein paar Teile von dem Plane obwohl sie ziemlich weit oben(y=2000) ist und der Plane (y=0), wie kann ich das korrigieren?

LINK

thx für eure hilfe



ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
package {
 
  import flash.display.*;
  import flash.events.*;
  import flash.text.*;
  import flash.ui.*;
  import flash.events.KeyboardEvent;   
  import flash.geom.Point;
  import fl.motion.Color;
  import flash.filters.BlurFilter;
  import flash.display.Stage;
     
  import my.*;   
  import shadowcaster.*   
 
  import com.greensock.TimelineMax;
  import com.greensock.TweenMax;
  import com.greensock.easing.*;
     
 
     import org.papervision3d.objects.DisplayObject3D;   
     import org.papervision3d.lights.PointLight3D;   
     import org.papervision3d.cameras.CameraType;
     import org.papervision3d.cameras.Camera3D;
     import org.papervision3d.render.BasicRenderEngine;
     import org.papervision3d.scenes.Scene3D;
     import org.papervision3d.view.Viewport3D;
     import org.papervision3d.view.BasicView;
     import org.papervision3d.core.utils.Mouse3D;
     import org.papervision3d.core.proto.MaterialObject3D;
     import org.papervision3d.core.geom.renderables.Vertex3D;   
     import org.papervision3d.materials.*   
     import org.papervision3d.materials.shaders.*
     import org.papervision3d.materials.shadematerials.*;   
     import org.papervision3d.objects.primitives.*;   
     import org.papervision3d.materials.utils.MaterialsList;
     import org.papervision3d.objects.parsers.DAE;
     import org.papervision3d.events.FileLoadEvent;
     import org.papervision3d.core.proto.MaterialObject3D;
     
 
     import org.papervision3d.core.clipping.FrustumClipping;
     import org.papervision3d.view.stats.StatsView;
     
 
     //[SWF(backgroundColor="#000000", frameRate="60")]
   
     
     
     public class papervision extends Sprite  {      
 
 
     //meine variable ....

 
  public function papervision() {
            
          //weitere variablen und positionen von boden (plane), po(Cube), Viewport, Scene....
        //.......
addEventListener(Event.ENTER_FRAME, keys_enterframe);
  addEventListener(KeyboardEvent.KEY_DOWN, onKeyDowns);
  addEventListener(KeyboardEvent.KEY_UP, onKeyUps);
           
  addEventListener(Event.ENTER_FRAME, render_func);
           
 
 
  }   
 
 
 
 
  public function render_func(e:Event) {               
           renderer.renderScene(scene, camera, viewport);         
               }
        
        
 
 
 
 
  public function onKeyDowns(k1:KeyboardEvent){            
              
           switch(String.fromCharCode(k1.keyCode).toUpperCase()){
              case "W": wDown = true; break;
              case "S": sDown = true; break;
              case "A": aDown = true; break;
              case "D": dDown = true; break;
              case "Z": zDown = true; break;
              case "X": xDown = true; break;
              
           }
        }
 
 
 
 
 
  public function onKeyUps(k2:KeyboardEvent):void{
        
  //trace ("erreicht aufruf");
         
           switch(String.fromCharCode(k2.keyCode).toUpperCase()){
              case "W": wDown = false; break;
              case "S": sDown = false; break;
              case "A": aDown = false; break;
              case "D": dDown = false; break;
              case "Z": zDown = false; break;
              case "X": xDown = false; break;
 
               case "F":
                  renderer.clipping = new FrustumClipping(FrustumClipping.ALL); break;
               case "N":
                  renderer.clipping = new FrustumClipping(FrustumClipping.NEAR);break;
               case "C":
                  renderer.clipping = null;   
           }
        }
        
        
        
        
        
 
        
  public function keys_enterframe(hu:Event) : void{
           
           if(wDown)    {         wVel += 1;}
              
           if(sDown)   {         wVel -= 1;}
              
              
           if(aDown)   {         rVel -= 1;}
 
           if(dDown)   {         rVel += 1;}
              
           if(zDown)   {         camera.near+=2;}
           if(xDown)   {         camera.near-=2;}
     
           
           wVel *= 0.93;
           rVel *= 0.93;
           camera.moveForward(wVel);   
           camera.moveRight(rVel);
              
              
           camera.rotationX = viewport.containerSprite.mouseY/8;
           camera.rotationY = viewport.containerSprite.mouseX/4;
           //renderer.renderScene(scene, camera, viewport);
         
           
        }
 
 
 
 
 
 
 
 
  }
 
}
Geändert von bilblo am 06.10.11 um 22:26 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2024 Sebastian Wichmann - Flashhilfe.de