Guest User

Untitled

a guest
Oct 20th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. package {
  2. import flash.display.Sprite;
  3. import flash.events.*;
  4. import flash.ui.*;
  5. import sandy.core.Scene3D;
  6. import sandy.core.data.*;
  7.  
  8. import sandy.core.scenegraph.*;
  9. import sandy.materials.*;
  10. import sandy.materials.attributes.*;
  11. import sandy.primitive.*;
  12. //для подключения xml
  13. import flash.net.URLLoader;
  14. import flash.net.URLLoaderDataFormat;
  15.  
  16. import flash.net.URLRequest;
  17.  
  18. public class Example003 extends Sprite {
  19. private var scene:Scene3D;
  20. private var camera:Camera3D;
  21. //подключение xml
  22. public var erwer=URLLoaderDataFormatExample();
  23. public function URLLoaderDataFormatExample() {
  24.  
  25. var request:URLRequest=new URLRequest("uirs.xml");
  26. var variables:URLLoader=new URLLoader ;
  27.  
  28. variables.addEventListener(Event.COMPLETE,completeHandler);
  29.  
  30. try {
  31. variables.load(request);
  32. } catch (error:Error) {
  33. trace("Unable to load URL: "+error);
  34. }
  35. }
  36.  
  37.  
  38. public function completeHandler(event:Event):void {
  39. var loader:URLLoader=URLLoader(event.target);
  40.  
  41. var dataXML:XML=XML(event.target.data);
  42. dataXML.ignoreWhite=true;
  43. trace(dataXML);
  44.  
  45. //массивы для координат x, y, z
  46. var myArray_x:Array=[];
  47. var myArray_y:Array=[];
  48. var myArray_z:Array=[];
  49.  
  50. var col_x;
  51.  
  52. var col_y;
  53. var col_z;
  54.  
  55. var i=0;
  56.  
  57. //кол-во записей в xml
  58. var num=dataXML.child("uirs").length();
  59. //trace(num);
  60.  
  61. for (i=0; i<num; i++) {
  62. col_x=dataXML.uirs[i].os_x;
  63. col_y=dataXML.uirs[i].os_y;
  64. col_z=dataXML.uirs[i].os_z;
  65.  
  66. //заполнение массива
  67. myArray_x[i]=col_x;
  68. myArray_y[i]=col_y;
  69. myArray_z[i]=col_z;
  70.  
  71. }
  72.  
  73. trace("массив х " +myArray_x);
  74.  
  75. }
  76.  
  77.  
  78. public function Example003() {
  79. //создание камеры
  80. camera=new Camera3D(300,300);
  81. camera.x=100;
  82. camera.y=100;
  83. camera.z=-400;
  84. camera.lookAt(0,0,0);
  85.  
  86. // We create the "group" that is the tree of all the visible objects
  87. var root:Group=createScene();
  88.  
  89. // We create a Scene and we add the camera and the objects tree
  90. scene=new Scene3D("scene",this,camera,root);
  91.  
  92. // Listen to the heart beat and render the scene
  93. addEventListener( Event.ENTER_FRAME, enterFrameHandler );
  94. stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
  95.  
  96. }
  97. function createScene():Group {
  98. // Create the root Group
  99. var g:Group=new Group ;
  100.  
  101.  
  102. var Array1:Array=[50,0,150,50,-80,30, -40,55,-100,-70];
  103. var Array2:Array=[100,150,50,150,-30,100,85,-40,70,-20];
  104. var Array3:Array=[30,100,100,50,-50,80, 60,30,-50,-50];
  105. trace(Array1);
  106. //координатные оси
  107.  
  108. var myxLine:Line3D=new Line3D("x-coord",new Point3D(-100,0,0),new Point3D(100,0,0));
  109. var myyLine:Line3D=new Line3D("z-coord",new Point3D(0,0,-150),new Point3D(0,0,200));
  110. var myzLine:Line3D=new Line3D("y-coord",new Point3D(0,-100,0),new Point3D(0,100,0));
  111. var materialAttr:MaterialAttributes = new MaterialAttributes(
  112. new LineAttributes( 2, 0x990000),
  113. new LightAttributes( true, 0.1)
  114. );
  115. var material:Material=new ColorMaterial(0xFF0000,1,materialAttr);
  116. material.lightingEnable=true;
  117. var app:Appearance=new Appearance(material);
  118. myxLine.appearance=app;
  119. myyLine.appearance=app;
  120. myzLine.appearance=app;
  121.  
  122. var j=0;
  123. //цикл для построения точек
  124. for (j = 0; j <= Array1.length; j++) {
  125.  
  126.  
  127. var my1xLine:Line3D=new Line3D("x-coord",new Point3D(Array1[j],Array2[j],Array3[j]-2),new Point3D(Array1[j],Array2[j],Array3[j]+2));
  128. var my1yLine:Line3D=new Line3D("y-coord",new Point3D(Array1[j],Array2[j]-2,Array3[j]),new Point3D(Array1[j],Array2[j]+2,Array3[j]));
  129. var my1zLine:Line3D=new Line3D("z-coord",new Point3D(Array1[j]-2,Array2[j],Array3[j]),new Point3D(Array1[j]+2,Array2[j],Array3[j]));
  130.  
  131. g.addChild(my1xLine);
  132. g.addChild(my1yLine);
  133. g.addChild(my1zLine);
  134.  
  135.  
  136. }
  137. g.addChild(myxLine);
  138. g.addChild(myyLine);
  139. g.addChild(myzLine);
  140. return g;
  141. }
  142. function enterFrameHandler(event:Event):void {
  143. scene.render();
  144.  
  145.  
  146. }
  147. function keyPressed(event:KeyboardEvent):void {
  148. switch (event.keyCode) {
  149. case Keyboard.UP :
  150. camera.tilt+=2;
  151. break;
  152. case Keyboard.DOWN :
  153. camera.tilt-=2;
  154. break;
  155. case Keyboard.RIGHT :
  156. camera.pan-=2;
  157. break;
  158. case Keyboard.LEFT :
  159. camera.pan+=2;
  160. break;
  161. case Keyboard.CONTROL :
  162. camera.roll+=2;
  163. break;
  164. case Keyboard.PAGE_DOWN :
  165. camera.z-=5;
  166. break;
  167. case Keyboard.PAGE_UP :
  168. camera.z+=5;
  169.  
  170. break;
  171. }
  172. }
  173.  
  174. }
  175. }
Add Comment
Please, Sign In to add comment