AS3中加了3D的API,这当然是一件众望所归的事情,现在肯定要体验一下,顺便写下体验过程和大家共勉:
发现容器发生3D旋转,子对象不是扁平化,而是也对应其3D旋转,真是爽!
用FlashDevelop写代码很爽,如果你用的FlashIDE,注意把图片导入,另外我这只是一个体验,如果你想做成图片浏览器,稍做修改应该也很简单
package {
加载中…
加载中…
加载中…
加载中…
标签:
flashas33dit |
分类: flash as3学习笔记 |
AS3中加了3D的API,这当然是一件众望所归的事情,现在肯定要体验一下,顺便写下体验过程和大家共勉:
发现容器发生3D旋转,子对象不是扁平化,而是也对应其3D旋转,真是爽!
用FlashDevelop写代码很爽,如果你用的FlashIDE,注意把图片导入,另外我这只是一个体验,如果你想做成图片浏览器,稍做修改应该也很简单
package {
标签:
圆内反弹flashit |
分类: flash as3学习笔记 |
ball.as代码和上次一样。
package {
&
无意间翻到以前的一个东东,实现的是一个球在多边形内的碰撞,和我的另一篇文章利用向量来实现的效果一样,但这个是利用坐标的旋转来实现多角度碰撞,给大家分享一下,
Ball.as:
package {
&
我觉得现在很多人都需要一种编程思想,而不是在论坛上看到很精彩的东西,就马上去想着做
原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳 森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你在本文中看到自己的身影。
从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友。
我会持续更新这些经验,我可能还会有更多的感想,但就我这20年来看,我想下面这个列表中基本不需要增添额外的东西了。下面就是我至今最难忘的经验。
1. 估算解决问题所需要的时间。不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时。为自己定一个时间限制吧,1小时、30分钟或甚至15分钟。如果在这期间你不能解决问题,那就去寻求帮助,或到网上找答案,而不是尝试去做“超级堆码员”。
2. 编程语言是一种
又是一段时间没有更新了,把以前的一些小心得贴上吧:
1、有些时候需要对多维数组中的第一维进行排序,根据是第二维的某项,比如说对下面数组排序:
var a:Array=[[1,2,3],[3,1,0],[2,6,2],];
根据第二维第二项进行排序:
这样写即可:
a.sortOn('1',Array.NUMERIC);
trace(a);//输出:3,1,0,1,2,3,2,6,2
2、1/4的几率跳到第二帧
my_mc.gotoAndStop(Math.random()>.25||2)
这几天帮朋友做个小东西时用到很多组件,经常需要调整一下文本格式,也产生了一些困惑,最终通过查找帮助,找到了原因,作一下总结:
组件的类定义了一些方法、属性、事件和样式,使用它们可以在应用程序中与该组件进行交互。ActionScript 3.0 UI
组件是 Sprite 和 UIComponent 类的子类,继承了它们的属性、方法和事件
组件都有(继承)一个 setStyle(style:String, value:Object):void 的方法。
所以我在设置一个ComboBox实例的样式(字体,对齐方式等)时候直接调用这个方法:
my_CB.setStyle('textFormat',myTextFormat);
发现是不起作用的,困惑,这个子类没有这个方法了?
查找帮助,发现ComboBox组件是由 TextInput 和 List 两个组件组合而成的,那就需要分开设置,这样搞:
my_CB.textField.setStyle('textFormat',myTextFormat;
my_CB.dropdown.setStyle('textFormat',myTextFormat);
现在发现,上面的样式设置成功,但下拉列表还是不行?
再查:(以下摘自帮助文档)
List、DataGrid 和 TileList 组件均继承自 SelectableList 基类。因此,这些组件被视为基于 List
的组件
最近看了看组件,无意发现在帮助文件中有一个不太明显的错误,也是老手也会偶尔犯的错误,那就是值引用和地址引用不分,原代码如下:
import fl.data.DataProvider;
import flash.display.DisplayObject;
var aBox:MovieClip = new MovieClip();
var i:uint = 0;
var colors:Array = new Array(0x00000, 0xFF0000, 0x0000CC, 0x00CC00,
0xFFFF00);
var colorNames:Array = new Array('Midnight', 'Cranberry', 'Sky',
'Forest', 'July');
var dp:DataProvider = new DataProvider();
for(i=0; i < colors.length; i++) {
}
aTl.dataProvider = dp;
aTl.columnWidth = 110;
aTl.rowHeight = 130;
aTl.setSize(280,150);
aTl.move(150, 150);
aTl.setStyle('contentPadding', 5);
function drawBox(box:MovieClip,color:uint):void {
标签:
flashcs5新功能杂谈 |
分类: flash as3学习笔记 |
不必用引导线就可以让物体按自己想要的轨迹运动,对于设计人员来说是很方便的,更何况还支持3D,嗯,真是应该研究下
标签:
as3drawcircledrawovalit |
分类: flash as3学习笔记 |
今天在试几行小代码时出现:
Warning: 1060: 迁移问题: 不再支持 drawCircle 方法。请改用 Graphics.drawOval 方法。
但是圆也画出来了,也没有其它问题。
后来发现,我为了减少需要编写的代码量,这样写:
with(sprite){
……
应该是没有问题的,我把改为不用with:
sprite.graphics.beginFill(0xff0000);
……
就没有什么问题了,而很明显前者的写法是正确的,(参看帮助文件)说明这里有个BUG
积木的摆放方式有很多可能,我们必须从中找到正确答案。有很多方法求解这个问题,其中分而治之法是非常理想的。先把整个棋盘分成四个相同的区域:小洞落在其中的一个区域中。再将每一块积木放在棋盘上,这块积木覆盖三个区域,除了有洞的那一个。这样,原来有一个洞的大方块就变成了四个小方块,每个小方块有且仅有一个洞,包括原来就有的那个洞和因积木覆盖形成的洞。我们继续这一过程,又把每个小方块分成四个更小的小方块,每个小方块上再放一个新的积木,使得每个更小方块上正好有一个洞。
继续这一过程,直到最后都是2×2的小方块,现在问题就很简单了吧,(觉得过程很简单,应该不必画图了吧)只需要放置一个积木到一个2×2的有一个小洞的小方块上去!因此,我们很容易得到了问题的最终解!
(有空了补上个用分而治之法的练习)