昨晚想起了一些图案,当时是在小学的时候绘制过的,现在想起记得是TVB教学,当时候记得这种图案叫秀曲线图形。现在今天用flash 绘制一下,效果看起来挺好。而代码非常简单。
基础原理:从一个纵轴开始,划分一系列的点,然后从一点开始,左右进行连线绘制。同时也可以在自己的图案里面进行绘制,当然这种效果不只是一种的,你可以变化一下角度。效果会更加美丽。这种是90度角的效果。
package
{
//800x600 黑色背景
import flash.display.Sprite;
import flash.events.*;
public class Main extends Sprite
{
private var pen:Sprite=new Sprite();//画笔
private var num:int=61;
private var startX:Number=400;
private var startY:Number=300;
public function Main()
{
addChild(pen);
creatSprite();
}
//创建图形
private function creatSprite():void
{
pen.graphics.lineStyle(2,0xffffff);//定义画笔粗糙和颜色
for (var i:int=0; i<num; i++)
{
for (var j:int=0; j<2; j++)
{
pen.graphics.moveTo(startX,i*10);
if (i<30)
{
if ......
今天光顾了外国的某一些博客对位图的应用,发现对位图的操作会变化出很多很多效果,其中一篇是像素画的实现,借助这种对位图的像素操作应用,重新组合成新的图片,然后拼合成一张新的图片。
思路很简单。借用这种手法应用对一些效果会很大帮助。如聚合与分散的像素动画。
左边是一张正常的,而右边是一张经过像素处理的灰太狼的图片。
通过外部加载回来的图片,获取到数据源,通过这个数据源我们可以借用bitmapdata 类的获取像素的值的操作,每一个像素包含RBG的值,通过getPixel(x,y)能够对位图进行像素获取。然后进行填充使用。最后产生出右边像素的画面的效果。主要涉及的方法应用是
两个循环获取像素的的值。
//进行像素获取,重组像素
for (var i:int=0; i<Width; i+=step)
{
for (var j:int=0; j<Height; j+=step)
{
var color:uint=bmpData.getPixel(i,j);
var rect:Rectangle=new Rectangle(i,j,step,step);
bmpData.fillRect(rect,color ......
对于目前的 Flash 来说,开发一些像模像样的游戏并不是什么奇怪的事情了。我这里所涉及到的内容和开发游戏有关,但是都是一些比较基本的知识。如果您是游戏开发方面的高手,那么完全可以忽略我这里所描述的内容。我的计划是要做一系列的教程,这是其中一个系列。
游戏是一个交互作品,简单说,就是通过用户的行为,会对这个作品的进程产生一定的影响。说到游戏,总要提到难度,游戏的难度在于:当你想要达到某种目的
的时候,你会发现它的实现多少有些困难,困难越难克服,难度也就越大。不同类型的游戏有不同的难度,以及不同的实现方法。比如:俄罗斯方块通过改变方块下
落的速度来改变游戏的难度,空战射击游戏通过不同的敌机以及不同的 Boss 来实现不同的难度。
在这个系列里面,我们想和大家一起研究一下游戏中敌人的运动方式,一点一点来。AS 基础最好是有一些,不然会稍微有些头疼。
一、最直接的跟踪
首先看看这个例子:
< width="400" height="300" src="http://www.pconline.com.cn/pcedu/sj/wz/flash/0501/flash/18flashgp01.swf" src="http://www.pconline.com.cn/pcedu/sj/wz/flash/0501/flash/18flashgp01.swf" width="400" height="3 ......
此文是我翻译自OReilly出版的 Programming Flex 2 中部分章节,略有修改.
从某种程度上说,即使一点也不了解Flex程序的运行机制,也并不妨碍我们开发Flex程序。不过,弄清楚那些基本的结构还是非常有好处的,起码可以知道它的内部是怎么工作的。这会帮助我们实现一些有趣的功能,比如个性化预加载条,在运行期间加载其它的Flex程序,管理运行期间库元件的加载和卸载等等。更远的方面,理解Flex程序的运行可以帮助完善程序,因为我们将知道如何去优化代码。比如,如果想确定哪些代码是在预加载期间执行的,就得知道如何去捕捉这些事件。
每个Flex程序都是从SystemManager开始的,它是flash.display.MovieClip的子类,一个可视的数据类型,MovieClip支持时间轴。SystemManager有两桢。Flex程序的第一桢用来显示一个下载进度条。这一桢应该尽量使用少量的元素,避免文件尺寸过大,使得可以被快速下载,这时候,Flex框架还有大部分没有加载,只有一些核心的类库被加载,加载结束后,进入第二桢。直到第二桢,程序才完全加载进来,包括程序中使用的Flex框架中的大部分类库。如果我们要个性化预加载条,就得先了解SystemManager的工作流程。
下图演示了程序的初始化流程:
......
转自http://gdljg0460.javaeye.com/blog/268848
1. Flexbox
http://flexbox.mrinalwadhwa.com/
这是一位来自印度的flex开发者在07年2月份建立的flex组件库,里面也有不少好东西。
2. Flexlib
http://code.google.com/p/flexlib/
由Dougmccune等人建立的flex组件库,其中有不少实用的组件。
3.SpringGraph Flex Component
http://mark-shepherd.com/blog/springgraph-flex-component/
非常酷的拓扑关系组件!
4.Flex Visual Graph Library
http://code.google.com/p/flexvizgraphlib/
又一个拓扑图形展示的类库,动态效果那叫“惊艳”!
该项目的讨论组:
http://groups.google.com/group/flexvizgraphlib
5. Open Source Framework for Flex / Flash & AIR(Apollo)
http://code.google.com/p/advancedflex/
The Advanced Flex project is open source Libraries & Framework for Adobe Flex & Flash developer. This is the framework written in AS3.0 & MXML for Flex & Flash & AIR(Apollo).
看起来里面涉及到了AOP及debugger等内容,有时间要好好看看了。
6. Open Source Flex Component: TreeMap
http://www.zeusla ......
2010.2.21 初步印象
1. Flex工程的核心就是那个mxml文件,所有的代码或结构都是围绕它;
2. 与这个mxml文件同名的as文件,他们之间的关系有点像html与js的关系,而且还不用include;
3. 最终会生成一个与mxml文件同名的html文件,而flash文件会被嵌入进去的;
2010.2.22 与Sping,Hibernate集成
看了这篇文章:http://www.ibm.com/developerworks/cn/web/0912_zouxiang_flex_spring/
集成了Flex与Spring,但是Flex使用Cairngorm框架还不会处理,接下来要弄明白2件事:
1. Spring如何与Flex集成;
2.
Cairngorm框架如何使用,尤其是如何与Spring集成使用;
......