快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: “嗷,我导出的dae,md2怎么没有贴图啊!?”哪个模型文件里自己有贴图,把贴图乖乖放在一起然后检查模型文件里的贴图路径吧。下次谁再问不保证你不被踢屁股哦~










最近更新:
● wan925446570阁下在讨论区里 回复“怎么配置away3d 4.0运行环境啊?...”(15:12:45)
● wan925446570阁下在讨论区里 回复“怎么配置away3d 4.0运行环境啊?...”(10:01:38)
● DDM君阁下在讨论区里 回复“怎么配置away3d 4.0运行环境啊?...”(19:07:43)
浏览主题:帮忙看看错误!

帮忙看看错误!
cy3502398 (2009-01-13 16:43:16)

package mainClass{
     import flash.display.Sprite;
     import flash.events.Event;
     import fl.transitions.Tween;
     import fl.transitions.easing.*;
     import flash.events.MouseEvent;
     import flash.net.URLLoader;
     import flash.net.URLLoaderDataFormat;
     import flash.net.URLRequest;
     import flash.utils.Dictionary;

     import org.papervision3d.view.Viewport3D;
     import org.papervision3d.cameras.FreeCamera3D;
     import org.papervision3d.scenes.Scene3D;
     import org.papervision3d.render.BasicRenderEngine;

     import org.papervision3d.materials.BitmapFileMaterial;
     import org.papervision3d.objects.primitives.Plane;

     import org.papervision3d.events.InteractiveScene3DEvent;

     public class MainTimeClass extends Sprite {
           var viewport:Viewport3D;
           var camara:FreeCamera3D;
           var scene:Scene3D;
           var render:BasicRenderEngine;

           var materials:BitmapFileMaterial;
           var plane_pic:Plane;
           var plane2:Plane;
           var container:Sprite;
           var flash_xml:XML;
           var loader:URLLoader;
           public function MainTimeClass():void {
                 viewport=new Viewport3D(1024,768);
                 addChild(viewport);
                 viewport.interactive=true;
                 camara=new FreeCamera3D();
                 scene=new Scene3D();
                 renderer=new BasicRenderEngine();

                 container=new Sprite();
                 flash_xml=new XML();
                 loader=new URLLoader();

                 var p_dict:Dictionary=new Dictionary();
                 var plane2:Plane = new Plane();
                 plane2.visible = false;
                 camara.target = plane2;
                 var target:String;
                 var r:Number = 512;
                 var camera_distance:Number = r * 2.5;
                 var xp:Number;
                 var yp:Number;
                 var zp:Number;
                 var total_in_a_ring:Number = 10;//在一圈圆中有几张图片
                 var total_ring:Number = 6;//总共有几圈

                 var filename_list:Array = new Array();
                 var url_list:Array = new Array();
                 var url_target_list:Array = new Array();
                 var title_list:Array = new Array();
                 var description_list:Array = new Array();
                 var folder:String = "pic/";
                 
                 var k:Number = 0;
                 
                 target="xml/thumbnail_list_3.xml";
                 loader.addEventListener(Event.COMPLETE, load_pic);
                 try {
                       trace("loading....");
                       loader.load(new URLRequest(target));
                 } catch (error:Error) {
                       trace("Unabled to load URL...."+error);
                 }
           }
           public function load_pic(e:Event):void {
                 flash_xml=XML(e.target.data);
                 var total:Number = flash_xml.thumbnail.length();
                 for (var i:int = 1; i <= total_ring; i++) {
                       for (var j:uint = 0; j < total_in_a_ring; j++) {
                             url_list.push( flash_xml.thumbnail[k].@url.toString());
                             url_target_list.push( flash_xml.thumbnail[k].@target.toString());
                             title_list.push( flash_xml.thumbnail[k].@title.toString() );
                             description_list.push( flash_xml.thumbnail[k].@description.toString());
                             materials= new BitmapFileMaterial(
                             folder + flash_xml.thumbnail[k].@filename.toString());
                             materials.doubleSided = true;
                             materials.smooth = true;
                             materials.interactive=true;
                             plane_pic = new Plane(materials, 120, 90, 2, 2);
                             scene.addChild(plane_pic);
                             var p_container:Sprite = plane_pic.container;
                             p_container.name = "flashmo_" + k;
                             p_dict[p_container] = plane_pic;
                             p_container.buttonMode = true;
                             p_container.addEventListener( MouseEvent.ROLL_OVER, p_rollover );
                             p_container.addEventListener( MouseEvent.ROLL_OUT, p_rollout );
                             p_container.addEventListener( MouseEvent.CLICK, p_click );
                             xp=800-Math.random()*1600;
                             zp=600-Math.random()*1200;
                             yp=384-Math.random()*768;
                             plane_pic.x = xp;
                             plane_pic.y = yp;
                             plane_pic.z = zp;
                             plane_pic.rotationY=90;
                             k++;
                       }
                 }
           }
           private function p_rollover(me:MouseEvent) {
                 var sp:Sprite = me.target as Sprite;
                 var tw1:Tween = new Tween(sp, 'scaleX', Strong.easeOut, 1, 1.11, 0.5, true);
                 var tw2:Tween = new Tween(sp, 'scaleY', Strong.easeOut, 1, 1.11, 0.5, true);
                 var s_no:Number = parseInt(sp.name.slice(8,10));
           }
           private function p_rollout(me:MouseEvent) {
                 var sp:Sprite = me.target as Sprite;
                 var tw1:Tween = new Tween(sp, 'scaleX', Strong.easeOut, 1.11, 1, 0.5, true);
                 var tw2:Tween = new Tween(sp, 'scaleY', Strong.easeOut, 1.11, 1, 0.5, true);
           }
           private function p_click(me:MouseEvent) {
                 var sp:Sprite = me.target as Sprite;
                 var s_no:Number = parseInt(sp.name.slice(8,10));
                 //navigateToURL(new URLRequest(url_list[s_no]), url_target_list[s_no]);
                 var tw3:Tween = new Tween(sp, 'scaleX', Strong.easeOut, 1, 6, 0.5, true);
                 var tw4:Tween = new Tween(sp, 'scaleY', Strong.easeOut, 1, 6, 0.5, true);
           }
           public function rend(e:Event):void {
                 var dist:Number = ((stage.mouseY) - center_y) * -0.25;
                 var distx:Number=((stage.mouseY)-center_y)*-0.00015;
                 var dist2:Number = ((stage.mouseX) - center_x) * 0.00015;
                 var angle_total:Number;
                 var angle1:Number;
                 var angle2:Number;
                 angle1 += dist2;
                 angle2 += distx;
                 angle_total=Math.sqrt(angle1*angle1+angle2*angle2);
                 camara.x = Math.cos(angle1) * camera_distance;
                 camara.z = Math.sin(angle1) * camera_distance;
                 //cam.x = Math.cos(angle_total) * camera_distance;
                 //cam.z = Math.sin(angle_total) * camera_distance;
                 camara.y += dist;
                 renderer.renderScene(scene,camera,viewport);
           }
     }
}


发生错误:


http://g4a31.mail.163.com/a/j/readdata.jsp?sid=hAaNzYTToPCdkXdjhoTTYqbPwAdVteLE&mid=106:1tbiahLo50KNzwHvzwAAsW&part=3&mode=inline






flash 3d 研究所
(2009-01-13 16:46:00)
错误
地址:
http://sdf3452df.blog.163.com/editPhoto.do?albumId=-1&photoId=fks_087065082080087074093084083068072087081069083084082070081085



flash 3d 研究所
(2009-01-13 16:59:04)
天啦
整个文件都要能用的话,必须要在方法的外面这样声名
private var 变量:什么类=new 什么类(参数);
另外renderer也写成render了;


大人求你先看看AS3基础教程啊,哭,这些错误跟flash3d完全无关啊


flash 3d 研究所
(2009-01-13 17:05:39)
同一个方法里面var的变量,只有这个方法里面可以用,另一个方法想调用当然会报‘没有这个变量’的错误
所以要想每个方法都用上同一个变量就要按fur那样的写法。




flash 3d 研究所
(2009-01-13 17:06:25)
改了一下错误数减少,但还有一个错误

package mainClass{
     import flash.display.Sprite;
     import flash.events.Event;
     import fl.transitions.Tween;
     import fl.transitions.easing.*;
     import flash.events.MouseEvent;
     import flash.net.URLLoader;
     import flash.net.URLLoaderDataFormat;
     import flash.net.URLRequest;
     import flash.utils.Dictionary;

     import org.papervision3d.view.Viewport3D;
     import org.papervision3d.cameras.FreeCamera3D;
     import org.papervision3d.scenes.Scene3D;
     import org.papervision3d.render.BasicRenderEngine;

     import org.papervision3d.materials.BitmapFileMaterial;
     import org.papervision3d.objects.primitives.Plane;

     import org.papervision3d.events.InteractiveScene3DEvent;

     public class MainTimeClass extends Sprite {
           var viewport:Viewport3D;
           var camara:FreeCamera3D;
           var scene:Scene3D;
           var render:BasicRenderEngine;
           var materials:BitmapFileMaterial;
           var plane_pic:Plane;
           var plane2:Plane;
           var container:Sprite;
           var flash_xml:XML;
           var loader:URLLoader;
           var center_x:int;
           var center_y:int;
           var xp:Number;
           var yp:Number;
           var zp:Number;
           var target:String;
           var r:Number = 512;
           var camera_distance:Number;
           var total_in_a_ring:Number;
           var total_ring:Number;
           var p_dict:Dictionary;
           var filename_list:Array;
           var url_list:Array;
           var url_target_list:Array;
           var title_list:Array;
           var description_list:Array;
           var folder:String;
           var k:Number;
           var p_container:Sprite;
           
           public function MainTimeClass():void {
                 viewport=new Viewport3D(1024,768);
                 addChild(viewport);
                 viewport.interactive=true;
                 camara=new FreeCamera3D();
                 scene=new Scene3D();
                 render=new BasicRenderEngine();

                 container=new Sprite();
                 flash_xml=new XML();
                 loader=new URLLoader();

                 p_dict=new Dictionary();
                 plane2= new Plane();
                 plane2.visible = false;
                 camara.target = plane2;


                 camera_distance = r * 2.5;

                 total_in_a_ring = 10;
                 total_ring = 6;

                 filename_list= new Array();
                 url_list= new Array();
                 url_target_list= new Array();
                 title_list= new Array();
                 description_list= new Array();
                 folder = "pic/";
                 k= 0;
                 target="xml/thumbnail_list_3.xml";
                 loader.addEventListener(Event.COMPLETE, load_pic);
                 try {
                       trace("loading....");
                       loader.load(new URLRequest(target));
                 } catch (error:Error) {
                       trace("Unabled to load URL...."+error);
                 }
           }
           public function load_pic(e:Event):void {
                 flash_xml=XML(e.target.data);
                 var total:Number = flash_xml.thumbnail.length();
                 for (var i:int = 1; i <= total_ring; i++) {
                       for (var j:uint = 0; j < total_in_a_ring; j++) {
                             url_list.push( flash_xml.thumbnail[k].@url.toString());
                             url_target_list.push( flash_xml.thumbnail[k].@target.toString());
                             title_list.push( flash_xml.thumbnail[k].@title.toString() );
                             description_list.push( flash_xml.thumbnail[k].@description.toString());
                             materials= new BitmapFileMaterial(
                             folder + flash_xml.thumbnail[k].@filename.toString());
                             materials.doubleSided = true;
                             materials.smooth = true;
                             materials.interactive=true;
                             plane_pic = new Plane(materials, 120, 90, 2, 2);
                             scene.addChild(plane_pic);
                             p_container= plane_pic.container;
                             p_container.name = "flashmo_" + k;
                             p_dict[p_container] = plane_pic;
                             p_container.buttonMode = true;
                             p_container.addEventListener( MouseEvent.ROLL_OVER, p_rollover );
                             p_container.addEventListener( MouseEvent.ROLL_OUT, p_rollout );
                             p_container.addEventListener( MouseEvent.CLICK, p_click );
                             xp=800-Math.random()*1600;
                             zp=600-Math.random()*1200;
                             yp=384-Math.random()*768;
                             plane_pic.x = xp;
                             plane_pic.y = yp;
                             plane_pic.z = zp;
                             plane_pic.rotationY=90;
                             k++;
                       }
                 }
           }
           private function p_rollover(me:MouseEvent) {
                 var sp:Sprite = me.target as Sprite;
                 var tw1:Tween = new Tween(sp, 'scaleX', Strong.easeOut, 1, 1.11, 0.5, true);
                 var tw2:Tween = new Tween(sp, 'scaleY', Strong.easeOut, 1, 1.11, 0.5, true);
                 var s_no:Number = parseInt(sp.name.slice(8,10));
           }
           private function p_rollout(me:MouseEvent) {
                 var sp:Sprite = me.target as Sprite;
                 var tw1:Tween = new Tween(sp, 'scaleX', Strong.easeOut, 1.11, 1, 0.5, true);
                 var tw2:Tween = new Tween(sp, 'scaleY', Strong.easeOut, 1.11, 1, 0.5, true);
           }
           private function p_click(me:MouseEvent) {
                 var sp:Sprite = me.target as Sprite;
                 var s_no:Number = parseInt(sp.name.slice(8,10));
                 //navigateToURL(new URLRequest(url_list[s_no]), url_target_list[s_no]);
                 var tw3:Tween = new Tween(sp, 'scaleX', Strong.easeOut, 1, 6, 0.5, true);
                 var tw4:Tween = new Tween(sp, 'scaleY', Strong.easeOut, 1, 6, 0.5, true);
           }
           public function rend(e:Event):void {
                 var dist:Number = ((stage.mouseY) - center_y) * -0.25;
                 var distx:Number=((stage.mouseY)-center_y)*-0.00015;
                 var dist2:Number = ((stage.mouseX) - center_x) * 0.00015;
                 var angle_total:Number;
                 var angle1:Number;
                 var angle2:Number;
                 angle1 += dist2;
                 angle2 += distx;
                 angle_total=Math.sqrt(angle1*angle1+angle2*angle2);
                 camara.x = Math.cos(angle1) * camera_distance;
                 camara.z = Math.sin(angle1) * camera_distance;
                 //cam.x = Math.cos(angle_total) * camera_distance;
                 //cam.z = Math.sin(angle_total) * camera_distance;
                 camara.y += dist;
                 render.renderScene(scene,camara,viewport);
           }
     }
}

错误:


INFO: Papervision3D Public Beta 2.0 - Great White (December 3rd, 2008)

loading....
Error #2044: 未处理的 ioError:。 text=Error #2032: 流错误。 URL: file:///C|/Documents%20and%20Settings/陈勇/桌面/公司三维效果网站2/xml/thumbnail_list_3.xml
     at mainClass::MainTimeClass$iinit()

这是怎么回事???

希望高手解答 !!!


flash 3d 研究所
(2009-01-13 17:09:04)
读取不到这个文件的意思,可能性就是千千万万了。
目前建议把中文别出现中文路径


flash 3d 研究所
(2009-01-13 17:10:39)
好的,谢谢,我试试


flash 3d 研究所
(2009-01-13 17:18:33)

将上面的target地址改为target="myxml/bologoo_xml.xml";后:
又出现下面错误,不知是怎么回事!
感觉只加载了第一张图片,为什么??
loading....
INFO: BitmapFileMaterial: Loading bitmap from pic/flashmo_096_3d_cylinder_box.jpg
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
     at mainClass::MainTimeClass/load_pic()
     at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
     at flash.events::EventDispatcher/dispatchEvent()
     at flash.net::URLLoader/flash.net:URLLoader::onComplete()

期望解答!!


flash 3d 研究所
(2009-01-13 17:27:37)
还是var的问题,plane和materials不该在外面声明而该在方法类,否则始终都是同一张plane和同一张material



flash 3d 研究所
(2009-01-13 17:38:54)
不好意思,是将这句话
var plane_pic:Plane;写在这下面这句前面吗?
plane_pic = new Plane(materials, 120, 90, 2, 2);
同样materials类也是。但最后错误依旧啊!!

希望DDM君看下,谢谢!



flash 3d 研究所
(2009-01-13 17:45:24)
ls的。。。

定义成员变量肯定要在使用之前定义啊


flash 3d 研究所
(2009-01-13 17:57:29)
大哥们,应该怎么改啊,麻烦写出来可以吗?


flash 3d 研究所
(2009-01-13 17:59:35)
还没解决完啊,这可能性太多了我们看起来都也和你一样痛苦啊,图片没放对地方,地址写错了,没加载好就在进行操作什么的都有可能是这个错误



flash 3d 研究所
(2009-01-13 18:01:22)
我把源文件发给你,能帮我看看吗?
谢谢


flash 3d 研究所
(2009-01-13 19:31:51)
Kevin,我把你发言删除了,别这么说别人这样很不礼貌。


flash 3d 研究所
(2009-10-22 09:51:37)
……
我觉得这种问题其实完全没有什么回答的必要,研究所也没有必要在这种问题上浪费精力,回答这种问题反倒会让人产生一种依赖。咱们这里是3D研究所不是嘛


flash 3d 研究所
(2009-10-22 13:17:47)
建议先学好AS3吧。。。虽然找BUG是一件痛苦的事,但是也能学到不少东西。。。找BUG可以用try{code}catch(error){handler}把代码分段来找。。



flash 3d 研究所
(2009-10-23 09:37:09)
呵呵,确实是这样的.但每个程序论坛总有初学者会把全部代码放上来叫人找错的啦,只能大家理解理解^_^


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了