`

Sprite的宽高设置及Flex组件的混淆

    博客分类:
  • Flex
 
阅读更多

由于Bitmap和InteractiveObject同级,都继承自DisplayObject,因此没有右键菜单,需要在外部套上一个Sprite。

 

 

图片的宽为19,高为25.

 

情况1:

 

				var s:Sprite = new Sprite();
				s.addChild(btsImage);

 一切正常。

 

 

情况2:

 

				var s:Sprite = new Sprite();
				s.width = 40 ;//btsImage.width ;
				s.height = 40 ;//btsImage.height ;
				s.addChild(btsImage);

 s的宽和高都为0,图片不显示。

 

 

情况3:

				var s:Sprite = new Sprite();
				s.addChild(btsImage);
				s.width = 40 ;//btsImage.width ;
				s.height = 40 ;//btsImage.height ;

图片显示,并且被放大。

 

情况4:

 

				s.width = 40 ;//btsImage.width ;
				s.height = 40 ;//btsImage.height ;
				s.addChild(btsImage);
				s.width = 40 ;//btsImage.width ;
				s.height = 40 ;//btsImage.height ;

 图片显示,并且被放大;

 

 

既然情况1正常,为么情况2就不正常呢?

 

更新:

原因可能是这样,Flex组件用习惯了,被延迟渲染惯坏了。实际上,经常是先给Flex组件的各种属性赋值,然后再添加到容器,这时候就用到了延迟加载,使得x y width height生效。但AS组件没有延迟渲染,就需要先添加到容器,然后赋值。

 

P.S. :

Sprite的width和height直接继承自DisplayObject,属性说明为:

Indicates the width of the display object, in pixels. The width is calculated based on the bounds of the content of the display object. When you set the width property, the scaleX property is adjusted accordingly

显示对象的宽度,单位为像素。此宽度的计算基于其内容的边界。当设置width属性,其scaleX属性会相应被调整。

Except for TextField and Video objects, a display object with no content (such as an empty sprite) has a width of 0, even if you try to set width to a different value.

除了TextField和Video之外,没有内容的显示对象(例如空的Sprite)的宽度为0,即使你设置了其他的值。

分享到:
评论

相关推荐

    Flex 组件全屏 部分全屏的实现 代码

    DisplayObject是所有可绘制对象的基类,包括Component(组件)和Sprite(精灵),它们都具有全屏相关的属性和方法。 全屏模式的切换主要通过以下两个方法来实现: 1. `stage.displayState`: 这个属性可以设置为`...

    rnsprite是一个reactnative组件用于从spritesheets创建动画

    在React Native中,rn-sprite组件实现了类似的功能,将spritesheets的概念引入到原生平台,使得开发者能够轻松地在iOS和Android上创建高性能的动画。 rn-sprite组件的主要特点包括: 1. **高效渲染**:通过合并多...

    flex 图片缩放移动组件

    Bitmap组件继承自Sprite,用于显示位图图像。 3. **鼠标事件处理**: - 鼠标操作是实现图片缩放和移动的关键。我们需要监听mousedown、mousemove和mouseup事件,分别用于开始缩放/移动、持续移动和结束操作。 4. ...

    flex学习心得

    Flex提供了多种方式来设置组件的大小和布局,包括: - **默认大小**:如果未指定,Flex会自动计算一个合适的值。 - **显式设置**:直接设置组件的高度和宽度。 - **基于比例设置**:使用百分比来定义组件大小。 - **...

    Flex3高级教程(经典)

    3. **组件库与自定义组件**:Flex提供了一个丰富的组件库,包括按钮、面板、数据网格等。通过学习,你可以理解这些组件的工作原理,并学习如何根据需求创建自定义组件。 4. **数据绑定与事件处理**:数据绑定是Flex...

    《Flex_help》,Flex中文帮助

    6. **Flex图形和动画**:Flex提供了强大的绘图和动画功能,包括Sprite和Shape类,以及Tween类,可用于创建动态效果和交互性极强的用户界面。 7. ** BlazeDS / LiveCycle Data Services**:Flex可以与后端服务器进行...

    actionscript3 FLEX显示MovieClip, sprite, 文字等demo源代码.zip

    这个压缩包中的资源主要集中在如何在Flex项目中显示不同的视觉元素,如MovieClip、Sprite和文字,这些都是构建交互式用户界面的基本组件。 1. **MovieClip**: MovieClip是ActionScript3中的一个类,它继承自Sprite...

    flex 区域,鼠标画矩形选择组件

    在这个组件内部,我们可以添加Sprite实例,并为它设置事件监听器。以下是一个简化的代码示例: ```actionscript public class RectangleDraw extends UIComponent { private var sprite:Sprite = new Sprite(); ...

    Flex4.5常见问题总结

    除了选择器设置组件外观,Flex还允许直接调用`setStyle`方法进行实时样式调整。效果(effect)用于实现组件的视觉变换,如淡入淡出、位移等,增强用户界面的动态感。 #### 八、数据绑定 数据绑定是Flex的核心特性之...

    Flex3学习指南-是初学者学习Flex必备资料2

    6. **图形和动画**: Flex支持创建丰富的图形和动画效果,通过使用绘图API或组件如Sprite和Shape,可以实现复杂的视觉效果。 7. **数据服务和AMF**: Flex可以轻松地与服务器进行通信,通过HTTP、SOAP或Flash ...

    flex成功画一个点

    // 一个像素宽和高的线,形成一个点 ``` 5. **结束填充**:最后,调用`endFill()`方法结束当前的填充。 ```actionscript graphics.endFill(); ``` 6. **添加到舞台**:为了让点可见,我们需要将`Sprite`对象添加...

    Flex4实战代码

    CH17 - "图形与动画":Flex4提供强大的图形绘制和动画功能,这部分可能详细解释了如何使用Sprite和Shape类进行图形绘制,以及如何利用Timeline控制动画。 CH18 - "模块化与性能优化":Flex4支持模块化开发,有助于...

    flex源代码资料,一些flex源代码的例子

    Chapter_10可能深入到Flex中的图形和动画,包括使用Sprite和Shape类进行低级别绘图,或者使用Animate类创建复杂的动画效果。此外,这一章可能还涵盖了如何利用Flex的Layout Manager来管理组件的布局和对齐方式。 ...

    Flex图形化处理源码

    3. **图形绘制**:Flex3提供了一系列图形类,如Shape、Sprite和BitmapData等,可用于创建复杂的图形和动画。在项目中,这些类可能被用来实现定制的图表、地图或者其他视觉元素。 4. **Flex组件库**:Flex带有一套...

    跟我StepByStep学FLEX教程 flex教程

    在Flex Builder中,你可以创建新的Flex项目,选择模板,配置项目设置。完成项目后,可以通过内置的调试器运行和测试应用程序,确保其在各种浏览器和操作系统上正常工作。 5. Flex组件库 Flex组件库包含了一系列预先...

    Flex3中文帮助文档.chm

    8. **_states_和_transitions_**: Flex 3允许在组件之间定义不同的状态,并可以设置状态转换,使得UI可以根据应用程序的状态动态改变。 9. **国际化和本地化**: Flex 3提供了全面的国际化和本地化支持,方便开发者...

    Flex电子相册2

    - `RatioConstraint`可能被用到,它是一个布局约束,确保组件在改变大小时保持宽高比。 - 可能采用了动态计算图片容器大小的策略,根据图片原始比例调整,确保图片在不同分辨率和尺寸的屏幕上都能正确显示。 2. *...

    Flex.3实战.(美)艾哈迈德(美)赫希(美)阿比德.扫描版 523页 完整版

    2. **Flex组件库**:详述Flex组件模型,如Button、Label、Canvas等基本组件,以及数据控件如List、DataGrid等,帮助开发者构建用户界面。 3. **数据绑定**:阐述Flex的数据绑定机制,如何实现视图与数据模型的自动...

    flex 两个图片播放小程序

    综上所述,"flex 两个图片播放小程序"利用了Flex的BitmapData、Image组件、事件处理和动画机制,创建了一个能够实现图片浏览、放大和缩小功能的应用。这样的小程序在用户体验、图像处理和性能优化方面都有一定的技术...

    Flex Canvas 精灵演示

    Flex Canvas 精灵演示是基于Adobe Flex技术创建的一个互动展示,主要展示了如何在Canvas组件中使用精灵(Sprite)进行动态图形的制作和动画效果的实现。Flex是一种用于构建富互联网应用程序(RIA)的开放源代码框架...

Global site tag (gtag.js) - Google Analytics