addchild不显示内容

时间:2010-12-24 11:03:48

标签: flex actionscript-3 actionscript mxml mxmlc

在下面的代码中我没有任何错误,但为什么是addchild(视频);即,不显示网络摄像头拍摄的视频

 <?xml version="1.0" encoding="utf-8"?>
 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">


<mx:Script>
<![CDATA[
import org.com.figurew;
import mx.controls.Button;
import mx.controls.Alert;
import flash.display.InteractiveObject;
import flash.display.Sprite;
import flash.media.*;
import flash.net.*;


public function addBody():void
{

var ret:Number = figurew.getInstance().getparam();
if( ret == 1)
{
 Alert.show("Camera detected");

}
if(ret == 0)
{
 Alert.show("No camera detected");
} 
var cam:Camera =  Camera.getCamera();
if(cam != null)
{ 
 cam.setMode(640, 480, 30);
 var video:Video = new Video(30, 40);
 video.attachCamera(cam);

 addChild(video);


}
else
{

 trace("No Camera Detected");

 }

}


  ]]>

 </mx:Script>
 <mx:Button label="Test camera" click="addBody();"  x="99" y="116"/>

 </mx:Application >

figurew.as

 package org.com
 {
 import flash.display.InteractiveObject;
 import flash.display.Sprite;
 import flash.media.*;
 import flash.net.*;


 public class figurew extends Sprite
 {
  public function figurew()
  {
 //getparam();
 var cam:Camera =  Camera.getCamera();
 if(cam != null)
 { 
  cam.setMode(640, 480, 30);
  var video:Video = new Video(300, 450);
  video.attachCamera(cam);

  addChild(video);


 }
else
{

 trace("No Camera Detected");

}

}
public function getparam():Number
{ 
 var cam:Camera =  Camera.getCamera();
 if(cam != null)
 { 
 cam.setMode(640, 480, 30);
 var video:Video = new Video(300, 450);
 video.attachCamera(cam);

 addChild(video);
 return 1;

 }
 else
 {
 return 0;
 trace("No Camera Detected");

 }
  }
 private static var _instance:figurew = null;

 public static function getInstance():cldAS
 {
 if(_instance == null)
 {
 trace("No instance found");
 _instance = new cldAS();
 }
 return _instance;

 } 
 }
 }

1 个答案:

答案 0 :(得分:0)

我看不到您设置主应用程序的视频子项的高度或宽度的位置。这可能是一个问题。

脚本标记内有MX Button标记。我怀疑这会导致编译错误。因此,您可能正在查看代码的“旧”版本。修复错误并重新编译并重新启动。