From: Florent L. <fle...@ar...> - 2006-07-18 17:07:57
|
Hello, I have built an swf file, using the Ming library, which contains a = square sprite. This is my C++ code : SWFMovie *movie =3D new SWFMovie(); SWFSprite *sprite=3Dnew SWFSprite(); SWFShape *shape =3D new SWFShape(); SWFFill *fill=3Dshape->addSolidFill(0,0,255); movie->setDimension(100,100); shape->setRightFill(fill); shape->setLine(0,255,0,0); shape->movePenTo(0,0); shape->drawLineTo(100,0); shape->drawLineTo(100,100); shape->drawLineTo(0,100); shape->drawLineTo(0,0); sprite->add(shape); sprite->nextFrame(); SWFDisplayItem *item=3Dmovie->add(sprite); item->setName("thisisaname"); int ret=3Dmovie->save("c:\\out8.swf"); if (ret>0) printf("out8.swf created\n"); else printf("can't create out8.swf\n"); The fact is that in Flash, I load the out8.swf file and I try to add = events on the square but it doesn't work. This is the flash code : _root.createEmptyMovieClip("map",1);=20 _root.map.loadMovie("out8.swf"); _root.onEnterFrame=3Dfunction() { var totalbytes:Number =3D map.getBytesTotal(); var loadedbytes:Number =3D map.getBytesLoaded(); var ratio:Number =3D loadedbytes/totalbytes*100; if(ratio=3D=3D100) { trace("100%"); delete this.onEnterFrame; map.onRelease=3D_root.mingevent; } } function mingevent() { trace("release on ming object"); } var rect:MovieClip=3D_root.createEmptyMovieClip("flashrect",10); rect.beginFill(0x005500); rect.moveTo(100,100); rect.lineTo(100,200); rect.lineTo(200,200); rect.lineTo(200,100); rect.lineTo(100,100); rect.endFill(); rect.onRelease=3Dflashevent; function flashevent() { trace("release on flash object"); } The onRelease event works fine with the "rect" MovieClip which is built = in Flash but the same code with the loaded movie (out8.swf) does = nothing.=20 Is there something wrong ? what can I do ? Thanks for your help =3D) Florent |