【问题标题】:Gestureworks with AS 3使用 AS 3 的手势工作
【发布时间】:2011-06-28 03:03:08
【问题描述】:

我在 Flex 4 上使用带有 papervision 3d 的手势工作,并且我使用的是 AS 3。我遇到了一个问题,就是我在行中不断出现错误 - container.addChild(cone),它给出的输出是是 "1067 : 将 import org.papervision3d.objects.primitives.Cone 类型的值隐式强制转换为不相关类型的 flash.display:DisplayObject"

我可以知道出了什么问题吗?

公共类 TouchApp 扩展应用程序

                : 
                :
                :

公共函数 TouchApp():void

{

 cone = new Cone();

 scene = new Scene 3D;

 cam = new Camera 3D();

 viewport = new Viewport3D(800,600);

 addChild(viewport);

 container = new TouchSprite();

 rendEng = new BasicRenderEngine();

 addEventListener(Event,ENTER_FRAME, gestCone);

}

public function gestCone(E:Event):void

{

  container.blobContainerEnabled = true;

  container.addEventListener(TouchEvent.TOUCH_DOWN, downCone);

  container.addEventListener(TouchEvent.TOUCH_UP, upCone);

  **container.addChild(cone);**

  addChild(container);

  rendEng.renderScene(scene,cam,viewport);

}

【问题讨论】:

  • 这是唯一的问题吗?您有语法错误,“Camera 3D”和“Scene 3D”中不应有空格。

标签: actionscript-3 flex4


【解决方案1】:

您收到该错误是因为 TouchSprite 期望将 DisplayObject 添加到其显示列表中,而您尝试添加不从 DisplayObject 类继承的 pv3d 对象“Cone”...您可以尝试使用容器。 addChild(cone.container) 但我不确定这是否可行...

【讨论】:

  • 嘿,Thomas 感谢您的回复,它仍然无法正常工作。他们给了我这个输出“错误#1009:无法访问空对象引用的属性或方法。在 id.core::TouchObjectContainer/addChild() at WithTouch/touchCone()[C:\Users\080775b\Contacts\ Adobe Flash Builder 4\WithTouch\src\WithTouch.as:50]"。米哈:是的,这是唯一的问题。我没有在 Camera 3D 和 Scene 3D 之间留下任何空间 :)
  • 我认为您必须将圆锥体添加到场景中,然后通过不使用 TouchSprite 类以其他方式检测手势。这是 away3D 的示例(基于 pv3d)@987654321 @
  • 如果我有一个从 3D S 程序导入的 .DAE 格式呢?另外,如果我在项目中已经使用扩展 sprite 类完成了其他对象,如果我只是导入离开 3d 会受到影响吗?
  • 忘记添加,如果我不使用 away3d 是另一种选择吗?因为我一直在使用 sprite 类,但我发现使用 away 3d 有点麻烦,而且我需要尽快提交我的项目
猜你喜欢
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 2013-07-28
相关资源
最近更新 更多