cad中如何加载字体Sprite中的Child Sprites

&& &在Flex的帮助文档里,有很多例子都是扩展Sprite类的。如果想把这些实例添加到你的s:Application中,如:addChild(DisplayObject ),肯定会出错。错误的大致意思是:flash.display::Sprite没有实现mx.core.IUIComponent接口。
&&&&Sprite-&DisplayObjectContainer&-&InteractiveObject&-&DisplayObject&-&EventDispatcher&-&Object
从Sprite的继承关系来看,它虽然是DIsplayObject但是它没有实现IUIComponent,不能直接添加到Flex组件里是当然的了。
&&& Flex文档上指出所有的可视化控件都继承自UIComponent&而它自己是实现了IUIComponent&接口的。UIComponent&允许添加Sprite和MovieClip。
经常使用到的做法是:
&&&var&comp:&UIComponent = new UIComponent();&&&comp.addChild(sprite);&&&cavas1.addChild(comp);
这样flash控件就能正常在flex组件里显示了。
举个例子我在as文件中这么写
Java代码 &
&SPAN&style="FONT-SIZE:&medium"&package&components &&{ &&&&&&import&flash.display.*; &&&&&&import&flash.net.URLR &&&&&&public&class&Main&extends&Sprite&{ &&&&&&&&&&public&function&Main(&&)&{ &&&&&&&&&&&&&&var&loader:Loader&=&new&Loader(&&); &&&&&&&&&&&&&&addChild(&loader&); &&&&&&&&&&&&&&loader.load(&new&URLRequest(&"img/aa.jpg"&)&); &&&&&&&&&&} &&&&&&} &&&&}&/SPAN&&&package components
import flash.display.*;
import flash.net.URLR
public class Main extends Sprite {
public function Main(
var loader:Loader = new Loader(
addChild( loader );
loader.load( new URLRequest( "img/aa.jpg" ) );
&然后具体显示就想上面说的那样
&style="FONT-SIZE:&medium"&version="1.0"&encoding="utf-8"&&&xmlns:fx="/mxml/2009"& &&&&&&&&&&&&&&&&&xmlns:s="library:///flex/spark"& &&&&&&&&&&&&&&&&&xmlns:mx="library:///flex/mx"&minWidth="955"&minHeight="600"&creationComplete="init()"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&![CDATA[ &&&&&&&&&&&&import&components.M &&&&&&&&&&&& &&&&&&&&&&&&import&mx.core.UIC &&&&&&&&&&&&function&init():void{ &&&&&&&&&&&&&&&var&comp:&UIComponent&=&new&UIComponent(); &&&&&&&&&&&&&&&var&main:Main=new&Main(); &&&&&&&&&&&&&&&comp.addChild(main); &&&&&&&&&&&&&&&this.addElement(comp); &&&&&&&&&&&&} &&&&&&&&]]&&&&&&&&&&&&
阅读(...) 评论()主题 : 创建sprite并addchild后,怎么实现在3秒后删除
级别: 新手上路
可可豆: 32 CB
威望: 32 点
在线时间: 4(时)
发自: Web Page
创建sprite并addchild后,怎么实现在3秒后删除&&&
        auto b = Sprite::create(&ball.png&);    b-&setPhysicsBody(PhysicsBody::createBox(b-&getContentSize()));    b-&cocos2d::Node::setPosition(positionX, positionY);    addChild(b);
级别: 新手上路
UID: 417842
可可豆: 188 CB
威望: 167 点
在线时间: 63(时)
发自: Web Page
百度cocos计时器
级别: 新手上路
可可豆: 32 CB
威望: 32 点
在线时间: 4(时)
发自: Web Page
回 1楼(wjc) 的帖子
计时器我试了this-&scheduleOnce(schedule_selector(HelloWorld::oneUpdate), 3.0f);他是调用函数但是我不知道怎么在别的函数中删掉我这个函数里的sprite,求教
级别: 新手上路
UID: 417842
可可豆: 188 CB
威望: 167 点
在线时间: 63(时)
发自: Web Page
回 2楼(randodo9) 的帖子
把精灵保存起来啊,不就能在别的函数里访问了。在.h文件里Sprite *p;然后你创建这个精灵的时候this-&p=你创建的精灵。。h里如果报错就是没包含命名空间。认不到sprite。包涵下就好
级别: 新手上路
可可豆: 32 CB
威望: 32 点
在线时间: 4(时)
发自: Web Page
回 3楼(wjc) 的帖子
auto listener = EventListenerTouchOneByOne::create();&&&&listener-&onTouchBegan = [this](Touch *t, Event *){&&&&&&&&this-&addBall(t-&getLocation());&&&&&&&&&&&&&&&&&&&&};&&&&Director::getInstance()-&getEventDispatcher()-&addEventListenerWithSceneGraphPriority(listener, this);我这里是鼠标点击一次创建一个小球,我用了你教的方法成功实现了创建出小球后x秒后删除,但是发现如果连续点击鼠标连续创建出小球,x秒后他只删掉最后创建出的小球,是不是计时器只能存在一个,这该如何是好,能否加个QQ
级别: 新手上路
UID: 417842
可可豆: 188 CB
威望: 167 点
在线时间: 63(时)
发自: Web Page
回 4楼(randodo9) 的帖子
和计时器无关啊,计时器每帧都会触发一次。是因为你。h的精灵指针只能保存一个精灵啊。你在创建一个精灵,指针就指向你新创建的精灵了,旧的就找不到了。你如果要连续点击的话,就需要一个链表把你创建的所有精灵都保存起来。这才能保证每个精灵都能访问到啊
可可豆: * CB
威望: * 点
在线时间: (时)
注册时间: *
最后登录: *
发自: Web Page
顺序动作;里面包含延时动作,removeself动作(或回调动作)。建议把cocos里面的动作系统的看一遍。cpptest里面有。3.8+的关键提示。Sequence,DelayTime,RemoveSelf(或者CallFuncN)。[ 此帖被paul_hu在 10:21重新编辑 ]
级别: 侠客
可可豆: 299 CB
威望: 299 点
在线时间: 174(时)
发自: Web Page
action或者延时函数都行的
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版

我要回帖

更多关于 如何在wps中加载宏 的文章

 

随机推荐