iLeichun

当前位置:首页

9个提高网页设计水平的方法

分类:网站建设  来源:网络  时间:2012-2-20 22:17:34
   一、想法

网页设计师必须善于思考,对设计主张自己的想法和理解,这是最重要的。别担心你的想法有多“烂”,没有人能一下子做好的,但你完全可以做好你的习惯和态度。学会大胆地摸索和尝试自己的想法,懂得借鉴,追求属于自己的创意。但是如果在设计时不动脑筋地套网页模板,套素材,甚至是盲目模仿和抄袭,那简直是在摧残你的创造力,滋养你的惰性,这样永远无法进步,而且以后想进步也非常困难。

二、欣赏

欣赏别人的作品,尤其是优秀作品,培养艺术鉴赏能力,这对于提高设计水平是必须的。看的时候不要走马观花,需要结合专业知识边看边想,仔细研究作品中值得学习的地方。但有人会抱怨要看作品自己却没有多少设计类书籍,上网找大量并且是自己需要的网页设计作品和设计资源又很浪费时间和精力,这里你建议去找汇集网络上所有优秀网页设计资源的网站,这样可以省下很多时间和精力去提高学习效率。

反复地欣赏优秀的网站作品。温故而知新,设计也是如此。收藏自己认为比较好的网页,过段时间再看看这些作品,往往会比第一次有更大的收获。

经常看看自己的作品。经常看看自己的过去设计的作品,你就会了解自己水平是否有所提高,同时也会有更多的设计体会。

三、练习

反复地大量地练习。如果缺乏练习,就算有足够的设计天赋也是无法提高网页设计水平。只有不断地练习,反复地练习,才能迅速提高设计能力,做得越多,提高得越快,这个是没有什么捷径可走的,必须踏踏实实地来。当然如果练习的时候不思考只会事倍功半,就像学画一样,不光要用笔画,更需要动脑。

四、审问自己

自己的作品能打动自己就是好作品吗?其实对自己作品满意并不是件好事。尤其是初学者对设计以及自身能力缺乏足够的认识往往会犯“自恋”的毛病,过于满意自己的设计,总以为自己设计得很完美,没有比这更好的,却不知自己设计得有多糟糕。相反,当你水平真正到达一定高度的时候,你对自己的设计就会有一个比较客观全面的认识,也就不会轻易满意自己的设计了。因此要学会审问自己,虚心向人求教,就会少走很多弯路。当你对自己的设计感到很满意的时候,记得审问自己,真的有那么好吗?

五、多问

学会交流,不懂就问。虽然大部分网页设计师性格都不太外向,但懂得如何与人沟通交流还是每个设计师必须掌握的课程。网页设计不是闭门造车,设计师不仅需要和客户交流,还需要和同事同学交流,当然也需要利用网络与其他设计师交流,只有善于交流的设计师才能更好更快地提高自己。

六、知识积累

网页设计师要掌握相关的专业理论知识,多看专业理论知识以查漏补缺。同时更需要学习各种各样的知识。拥有丰富的知识,你大脑里的“素材”就越多,它们都将可能参与到你的设计里,你的设计才会生动饱满,富有思想内涵。所以知名的设计大师们往往都是全才,他们不仅精通设计,更精通其他很多领域。

设计师需要懂得体会生活,了解世界。这需要实际调查和切身体会。否则你的设计就会容易脱离生活,失去感染力,因为设计源于生活并服务于生活。同时设计师需要了解世界,以增长更多的见识,保持最新的思想观念。一个思想落后、孤陋寡闻的设计师无论设计经验有多丰富,他的作品总会显得蹩脚和庸俗不堪。

当然,要想有丰富的知识和见识都需要你在平时生活中主动去注意和积累。

七、勤奋

设计师并不是一个轻松的职业,需要勤奋自学,优秀设计师大部分都是“自学成才”。如果平时没有抽时间主动去自我提高的话,那你的网页设计水平很难提高,甚至不进则退。因此建议在学习或工作之余,多多花时间在设计上,这样才能更迅速提高你的网页设计水平。

八、久

设计不是一朝一夕就能成功的,只有做久了才能拥有出色的设计水平和宝贵的设计经验。既然选择了设计师这个职业,就要有耐心,努力做得出色。虽然会遇到很多辛酸苦累,困难挫折,但不要退缩与放弃,没有这些,你的设计能力如何成长,你的经验如何获得?所以你需要做的是忘掉它们,朝前看,自信地坚持走下去,你的脚步总有一天会踏上平坦的道路,到那时,成功就在你面前向你招手微笑。

九、德

设计师的道德品质不仅会体现在生活中的每个细节,而且还会渗入到网页里,这也许就是对“设计为人”更深的一种诠释。如果一个设计师思想道德狭隘的话,那么迟早会扼杀掉自己艺术细胞,堵塞自己的艺术之路,因为艺术是从生活中提炼出来的,是人们所追求的真纯善美。设计师应该要拥有广阔的胸襟,才能拥有广阔的设计空间与灵感空间,你的设计之路才会走得更远更通畅。 

AS3实现滤镜动画效果

分类:ActionScript  来源:网络  时间:2012-2-20 0:13:44

在这个教程中,我们将添加模糊和斜角滤镜给图片。所有的动画都是用 Actionscript 3.0制作。在图片上移动你的鼠标看看效果。当你掌握了这些你将同样能创建另一些滤镜效果。好吧,打开你的flash我们开始吧。

设置环境

1. 创建一个新的文档,大小为500x250
2. 导入两张图片到舞台(大约200x200)。你可以象我一样导入一张方的和一张园的图片。
3. 将两张图片转换为MC,你可以这它们取上你喜欢的名字;将注册点移到中心。
4. 给它们取上实例名称分别为:“apple01”和“apple02”


进入AS3打开你的动作面板输入下面的代码:
//使用动画滤镜
var blurSpeed:Number = 1;
var bevelSpeed:Number = 5;
//为两个苹果添加MOUSE_OVER 事件侦听
appleapple01.addEventListener(MouseEvent.MOUSE_OVER,mouseOverApple01);
apple02.addEventListener (MouseEvent.MOUSE_OVER, mouseOverApple02);
//这两个苹果添加MOUSE_OUT 事件侦听
appleapple01.addEventListener(MouseEvent.MOUSE_OUT,mouseOutApple01);
apple02.addEventListener (MouseEvent.MOUSE_OUT, mouseOutApple02);
/*为两个苹果添加ENTER_FRAME,这样我们就能每隔一帧的时间绘制它们*/
apple01.addEventListener(Event.ENTER_FRAME,enterFrameApple01);
apple02.addEventListener (Event.ENTER_FRAME, enterFrameApple02);
//创建并附加模糊滤镜给apple01
var blur:BlurFilter = new BlurFilter();
blur.blurX = 20;
blur.blurY = 20;
blur.quality = BitmapFilterQuality.HIGH;
apple01.filters = [blur];
//创建一个斜角滤镜给apple02
var bevelFilter:BevelFilter=new BevelFilter(10, 45,0x000000,1, 0xffffff,1,0, 0, 0, BitmapFilterQuality.HIGH,BitmapFilterType.INNER,false);
apple02.filters = [bevelFilter];
//设置省缺值(鼠标没移动到苹果上时)
var mouseIsOverApple01:Boolean = false;
var mouseIsOverApple02:Boolean = false;
//当鼠标移到apple01上时调用
function mouseOverApple01 (event:MouseEvent):void {
mouseIsOverApple01 = true;
}
//当鼠标移到apple02上时调用
function mouseOverApple02 (event:MouseEvent):void {
mouseIsOverApple02 = true;
}
//当鼠标移出apple01 时调用
function mouseOutApple01 (event:MouseEvent):void {
mouseIsOverApple01 = false;
}
//当鼠标移出apple02 时调用
function mouseOutApple02 (event:MouseEvent):void {
mouseIsOverApple02 = false;
}
//这个函数绘制apple01 的动画
function enterFrameApple01 (event:Event):void {
//如果鼠标在苹果上移动减少模糊
if (mouseIsOverApple01 == true) {
blur.blurX -= blurSpeed;
blur.blurY -= blurSpeed;
}
/* 如果鼠标移出苹果,并且模糊没超过20,我们增加模糊。*/
if (mouseIsOverApple01 == false && blur.blurX <= 20) {
blur.blurX += blurSpeed;
blur.blurY += blurSpeed;
}
/*在改变模糊滤镜后我需要重新分配滤镜*/
apple01.filters = [blur];
}
//这个函数绘制apple02的动画
function enterFrameApple02 (event:Event):void {
//如果鼠标移到这个苹果上,我们增加模糊滤镜直到100
if (mouseIsOverApple02 == true && bevelFilter.blurX < 100) {
bevelFilter.blurX += bevelSpeed;
bevelFilter.blurY += bevelSpeed;
//我们需要分配一个力度给斜角让它可见
bevelFilter.strength = 5;
}
//如果鼠标移出apple02, 减少模糊
if (mouseIsOverApple02 == false) {
bevelFilter.blurX -= bevelSpeed;
bevelFilter.blurY -= bevelSpeed;
}
/*如果我们确定模糊滤镜正被使用,我们让整个斜角不可见。(strength is 0).否则我们会看到一些难看的曲线。*/
if(bevelFilter.blurX == 0) {
bevelFilter.strength = 0;
}
/*当我们改变了斜角滤镜时,我们需要重新分配一次滤镜*/
apple02.filters = [bevelFilter];
}
你已经完了!测试影片,如果你有什么问题,请访问论坛!快乐的一天!

下面附代码供研究。

var blurSpeed:Number = 1;
var bevelSpeed:Number = 5;
appleapple01.addEventListener(MouseEvent.MOUSE_OVER,mouseOverApple01);
apple02.addEventListener (MouseEvent.MOUSE_OVER, mouseOverApple02);
appleapple01.addEventListener(MouseEvent.MOUSE_OUT,mouseOutApple01);
apple02.addEventListener (MouseEvent.MOUSE_OUT, mouseOutApple02);
apple01.addEventListener(Event.ENTER_FRAME,enterFrameApple01);
apple02.addEventListener (Event.ENTER_FRAME, enterFrameApple02);
var blur:BlurFilter = new BlurFilter();
blur.blurX = 20;
blur.blurY = 20;
blur.quality = BitmapFilterQuality.HIGH;
apple01.filters = [blur];
var bevelFilter:BevelFilter=new BevelFilter(10, 45,0x000000,1, 0xffffff,1,0, 0, 0, BitmapFilterQuality.HIGH,BitmapFilterType.INNER,false);
apple02.filters = [bevelFilter];
var mouseIsOverApple01:Boolean = false;
var mouseIsOverApple02:Boolean = false;
function mouseOverApple01 (event:MouseEvent):void {
mouseIsOverApple01 = true;
}
function mouseOverApple02 (event:MouseEvent):void {
  mouseIsOverApple02 = true;
}
function mouseOutApple01 (event:MouseEvent):void {
mouseIsOverApple01 = false;
}
function mouseOutApple02 (event:MouseEvent):void {
mouseIsOverApple02 = false;
}
function enterFrameApple01 (event:Event):void {  
if (mouseIsOverApple01 == true) {
blur.blurX -= blurSpeed;
blur.blurY -= blurSpeed;
}
if (mouseIsOverApple01 == false && blur.blurX <= 20) {
blur.blurX += blurSpeed;
blur.blurY += blurSpeed;
}
apple01.filters = [blur];
}
function enterFrameApple02 (event:Event):void {
if (mouseIsOverApple02 == true && bevelFilter.blurX < 100) {
bevelFilter.blurX += bevelSpeed;
bevelFilter.blurY += bevelSpeed;
bevelFilter.strength = 5;
}
if (mouseIsOverApple02 == false) {
bevelFilter.blurX -= bevelSpeed;
bevelFilter.blurY -= bevelSpeed;
}
if(bevelFilter.blurX == 0) {
bevelFilter.strength = 0;
}
apple02.filters = [bevelFilter];
}

AS3.0实现打字效果

分类:ActionScript  来源:网络  时间:2012-2-20 0:10:33

打字效果也是一个比较老的的效果,想来想去还是觉得用这个效果来熟悉AS3.0的字符串和文本是最好的。在AS3.0中字符串和文本与AS2.0相比变化不是太大,在AS2.0入门教程中已对字符串和文本作了祥细介绍。

创建文本框与以住有些不同,在AS3.0中创建文本格式如下:
var 文本名称:TextField = new TextField();
这样文本框就创建了,但在AS3.0中显示对象要用addChild()方法添加到显示列表中,才能在屏幕上看到它,因此就还得加上一句:
addChild(文本名称);

下面看一个例子:创建一个文本,并让文本显示一些内容。

在帧动作中输入下面的代码:
var mytext: TextField = new TextField();
mytext.text = "我已经创一个文本了";
addChild(mytext);
测试影片,你会看到一个文本:"我已经创一个文本了"显示在屏幕上了。
文本框创建之后就可以设置其属性,调用其方法了。比如:appendText()方法,它将地在号中的字符串添加到文本的的结尾处,看下面的代码:
var mytext: TextField = new TextField();
mytext.width=500;
mytext.text = "我已经创一个文本了";
mytext.appendText(",我又加了一些内容");
addChild(mytext);
测试影片,看到的内容是:"我已经创一个文本了,我又加了一些内容"。你可真能干,你还能加些内容。这里我们加了一句:mytext.width=300;这设置了文本的宽度,以适应文本内容,使它能完全显示出来。

下面进入主题,实现打字效果:

新建flash文档,记住建AS3.0文档。

然后,导入一个打字声音素材(只有一声的那种,附件已提供)到库中,在库中右击声音元件,点“连接”(flash8,cs3)或“属性”(flash cs4),在“为ActionScript导出“前打钩,在”类“文本框中输入一个类名称,我的名称是:dzs,”确定“后会弹出一个对话框,再”确定 “。
下面打开帧动作面板写代码。
首先声明一个字符串对象,将要打出的文字包含进去:
var mystr:String = "在新春佳节来临之际,祝中国教程网的朋友们,新春快乐,万事如意,牛年牛气冲天!";
然后,声明一个变量,存储字符串的字符数,备用:
var strcd:Number = mystr.length;
接下来创建文本框,设置宽度,位置和缩放:
var mytextbox:TextField = new TextField();
mytextbox.width = 300;
mytextbox.x=120;
mytextbox.y=100;
mytextbox.wordWrap = true;//文本框向下扩展
创建一个文本格式对象,设置文本的格式:
var strformat:TextFormat = new TextFormat();
strformat.bold = true;
strformat.color = 0xffff00;
strformat.size = 16;
将文本添加到显示列表:
addChild(mytextbox);
下面创建一个函数将字符串内容添加到文本上,并调用打字声音,因为我们后面会用Timer类实例来调用函数,所以在函数的事作参数,我们用 event:TimerEvent,字符串的charAt(i)方法可以提取字符串中的第i个字符。文本框在有了内容后调用 setTextFormat()方法才会有作用,所以在这里才用它。
var i =0;
function xs(event:TimerEvent):void{
    mytextbox.appendText(mystr.charAt(i));
    i++;
    mytextbox.setTextFormat(strformat);
    //新建一个dzs类,即我们导入的声音,它将继承Sound类的属性和方法。所以用play()播放它,这样每加一个字符就会出现一声打字声。
    var sy:dzs = new dzs();
    sy.play();
}
下面创建Timer类,设置每300毫秒调用一次xs函数,为文本添加一个字符,一共调用字符串的个数那么多次:
var jg:Timer = new Timer(300,strcd);
jg.addEventListener(TimerEvent.TIMER,xs);
jg.start();
 

struts1和struts2有什么区别

分类:Struts  来源:网络  时间:2012-2-16 22:22:39

1.都是MVC的WEB框架,

2 struts1的老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本更低!struts2虽然基于这个框架,但是应用群众并多,相对不成熟,未知的风险和变化很多,开发人员相对不好招,使用它开发项目的风险系数更大,用人成本更高!

3.struts2毕竟是站在前辈的基础设计出来,它会改善和完善struts1中的一些缺陷,struts1中一些悬而未决问题在struts2得到了解决。

4.struts1的前端控制器是一个Servlet,名称为ActionServlet,struts2的前端控制器是一个filter,在struts2.0中叫FilterDispatcher,在struts2.1中叫StrutsPrepareAndExecuteFilter。

5.struts1的action需要继承Action类,struts2的action可以不继承任何类;struts1对同一个路径的所有请求共享一个Action实例,struts2对同一个路径的每个请求分别使用一个独立Action实例对象,所有对于struts2的Action不用考虑线程安全问题。

6.在struts1使用formbean封装请求参数,在struts2直接使用action的属性来封装请求参数。

7.struts1中的多个业务方法放在一个Action中时(即继承DispatchAction时),要么都校验,要么都不校验;对于struts2,可以指定只对某个方法进行校验,当一个Action继承了ActionSupport且在这个类中只编写了validateXxx()方法,那么则只对Xxx()方法进行校验。

(一个请求来了的执行流程进行分析,struts2是自动支持分模块开发,并可以不同模块设置不同的url前缀,这是通过package的namespace来实现的;struts2是支持多种类型的视图;struts2的视图地址可以是动态的,即视图的名称是支持变量方式的,举例,论坛发帖失败后回来还要传递boardid。视图内容显示方面:它的标签用ognl,要el强大很多,在国际化方面支持分模块管理,两个模块用到同样的key,对应不同的消息;)

与Struts1不同,Struts2对用户的每一次请求都会创建一个Action,所以Struts2中的Action是线程安全的。

struts1配置文件中的redirect视图的url不能接受参数,而struts2配置文件中的redirect视图可以接受参数。

(摘自:张孝祥老师java面试宝典)

从眉毛识人

分类:默认分类  来源:网络  时间:2012-2-13 18:12:21

  中医认为,多气多血的地方毛多。所以从眉毛可以看出人的气血虚实,也可以看出一个人的性情。

  长眉(长度超过眼睛)

  眉毛长的人大多性情温和,宽宏大量,比较重感情,不轻易发脾气,是属于凡事好商量的老好人,但这种人有时候容易多愁善感。

  短眉(长度不超过眼睛)

  眉短之人,性情正和长眉的人相反,较自私易怒,不轻易与人妥协,但有时候也多愁善感,和家人的缘分浅,容易和他们闹僵关系。

  其次,按眉毛的浓淡分,可以分为浓眉、淡眉和稀疏眉。

  浓眉

  眉浓得像用浓墨画上的,此种眉相的人性情傲慢顽固,自我意识比较强,不易受他人影响,待人不够谦虚诚恳。好在此类人心机不深,性情率直,也颇有人缘,只要努力,事业也能成功。

  淡眉

  如果眉毛颜色非常淡,甚至是白眉,则此人反应不够灵敏,心思也简单。眉淡之人虽无雄心壮志,但工作还是比较努力,具有成功的最基本素质。

  稀疏眉

  这种眉毛,远看似无似有。这种人,性格内向,外表文静,主观理智,不易冲动,但情绪暴躁。工作学习缺乏上进心,与亲人聚多离少,而且自己的健康也不太理想。

2011我都做了些神马

分类:个人日志  来源:网络  时间:2012-1-31 23:23:39

    啊!2012?世界末日不远了,诺亚方舟?2011走得匆匆,等到2012让那指针慢慢走停在花开的时候,不是因为年轻才快乐,而是因为快乐才年轻

2011,最幸运的事就是从家来厦门的半途转火车的时候,在离火车启动的10秒内从前一个车厢挤上去了(刚上去车就启动了),并用了15分钟挤了2/3节车厢找到了第n号座位;最值得庆幸的事是在面试了5家公司并通过4家的情况下我选择了第4家并工作至今;最骄傲的事是在多年没有动手煮饭炒菜后,在mm(暂时不透露)的指导下进行了约半年煮饭炒菜的艰苦锻炼,并使自己的厨艺蒸蒸日上……

    1-2月份临近过年,总在忙,想把一些网站尽快完成。

20113月下旬至4月初打算换一份更适合自己的工作,前2家公司当场确定通过了。第三家公司的面试让我觉得自己的技术还有得进步,我想我肯定通不过了,2天后那家公司告诉我面试通过,我说我先考虑下去不去。41日上午接到一个陌生电话,问我要不要过去面试,我没有多加考虑,想着职位肯定是PHP的(其实是做AS开发)。中午过去面试了,面试官看到我学过Java,就主要问了些Java问题(因为面试官不懂PHP),面试也通过了。但我想那天是愚人节,该不会是“忽悠”我的吧,就在我疑惑的时候,第二天那公司给我打电话再次告诉我面试通过了。第五家公司面试我的时候我说过我不喜欢经常加班,可能就是我没有面试通过的原因之一。很快,我决定了去第四家公司,选择了离开PHP,进军了以AS3为主的网页游戏开发。

在新的公司里,第一周主要是学习AS3的基础知识,之后的一个月里是用AS3做一些独立模块。再之后就慢慢参与到正式项目开发中去了,主要承担UI编程,经过慢慢的学习,边开发边体验,也就慢慢地进步了。我除了认真学好AS3外,不打算再把更多的时间花在学习其他技术上,很显然,我只想做得更专一一点,也可能因为这样,我感觉这一年我学习得很少。我很欣慰在为期约8个月的工作中获得了7颗星(居中上),这是领导对我学习及工作的鼓励与肯定。

9月份开始学习炒菜,刚开始由于还是几年前在家里炒过就感觉笨手笨脚的,也炒得不好吃,经过2个月左右的锻炼,慢慢的习惯了炒菜、洗碗,菜也越来越好吃了。这还得感谢mm经常对我的指导,让我步步高升。

2011年里,由于工作转行,我中断了占全年1/3的与原工作相关的计划,另外1/3计划完成了,还剩1/3没完成,留给2012吧,这叫年年有余。一年感冒过2次,每次约一周就好了,次于2001年的零感冒记录。一年来,头发黄了一点但掉了很多(按这速度,10年后就在寺庙工作了)。编程方面,经初步估计,完成各类代码(含新增、修改)总行数约50000余行,是计划的1/5,这是由于工作转行引起的,之前的计划是以继续PHP网站建设的情况下做参考的。虽然这一年的计划没完成,但总目标是完成了。不管怎样,活着就是为了快乐。

这一年,对我最大帮助的是mm,我要深深地感谢她、感谢她、再次感谢她。是她让我换了个合适的工作,是她让我还清了助学贷款,也是她让我学会了做饭、炒菜,更是她让我过的很快乐……

    2012已经到来了,我要做什么?赚点钱买船票吧。虽然钱能解决的问题都不是问题,但最大的问题就是没钱,不过电子版的还是有的,够花好几辈子了,学技术的钱“真多”,让我想起了一个人叫“钱多多”。另外,感情方面也希望能有所收获。

AS3操作舞台stage的时候提示舞台为空的解决

分类:个人日志  来源:网络  时间:2012-1-6 13:03:07

AS3操作舞台stage的时候提示舞台为空是为什么?那是因为舞台还没有初始化,可以通过侦听来确定舞台是否已经存在了,存在的时候再操作就可以了。

例如下面代码在舞台stage没有任何东西的时候,是会报错的:
stage.addEventListener(MouseEvent.CLICK, clickHandle);

function clickHandle():void {
    trace("舞台被点击");
}

解决方法:先侦听舞台是否已存在:
addEventListener(Event.ADDED_TO_STAGE, init);

function init():void {

    removeEventListener(Event.ADDED_TO_STAGE, init);
    trace("舞台存在了");
    stage.addEventListener(MouseEvent.CLICK, clickHandle);
}

function clickHandle():void {
    trace("舞台被点击");
}

这样就不会报舞台stage为空了。

as3和PHP后台交互大全

分类:ActionScript  来源:网络  时间:2011-12-17 20:47:58

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://adriano.blogbus.com/logs/40651673.html

 

第一种 不传参 直接读取PHP文件

btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
        var urlLoader:URLLoader=new URLLoader();
                urlLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
        urlLoader.load(new URLRequest("http://localhost/as3/url2.php"));
        urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
        var mydata:URLVariables=URLVariables((evt.currentTarget as URLLoader).data);
                mytxt.text="国家是:"+mydata.state+" ";
                mytxt.text+="var1是:"+mydata.var1;
}
php端代码:
<?
        $state="中华人民共和国";
        $var1="我爱你";
        echo "state=".$state."&var1=".$var1;
?>

 

第二种 无参数  读取XML文件

 

btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
        var urlLoader:URLLoader=new URLLoader();
        urlLoader.load(new URLRequest("data.xml"));
        urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
        var mydatas:XML=XML((evt.currentTarget as URLLoader).data);
                mytxt.text=mydatas.c1.toString()+","+mydatas.c2.toString();

}
xml文件内容:
<?xml version="1.0" encoding="utf-8"?>
<cities>
        <c1>北京</c1>
        <c2>上海</c2>
</cities>
上述代码结果:
北京,上海

 

第三种 无参数 PHP生成XML文件

 

btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
        var urlLoader:URLLoader=new URLLoader();
        urlLoader.load(new URLRequest("http://localhost/as3/xml.php"));
        urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
        var mydatas:XML=XML((evt.currentTarget as URLLoader).data);
                mytxt.text=mydatas.c1.toString()+","+mydatas.c2.toString();
}
php端:
<?
        //你可以使用php操作xml的函数
        //这里为了简单起见只是echo出来
        echo "<?xml version="1.0" encoding="utf-8"?>";
        echo "<cities>";
        echo "<c1>北京</c1>";
        echo "<c2>上海</c2>";
        echo "</cities>";
?>

 

第四种 GET 传参

System.useCodePage=true;
btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
        var urlLoader:URLLoader=new URLLoader();
                var request:URLRequest=new URLRequest();
                request.url="http://www.baidu.com/s";
                request.method=URLRequestMethod.GET;
                request.data="wd=flash";

        urlLoader.load(request);
        urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
     mytxt.text=(evt.currentTarget as URLLoader).data;
}

第五种 POST 传参

System.useCodePage=true;
btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
        var urlLoader:URLLoader=new URLLoader();
                var request:URLRequest=new URLRequest();
                var vars:URLVariables=new URLVariables();
                vars.wd="flash";

                request.url="http://www.baidu.com/s";
                request.method=URLRequestMethod.GET;
                request.data=vars;
        urlLoader.load(request);
        urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
     mytxt.text=(evt.currentTarget as URLLoader).data;
}
这里data是URLVariables是值对,注意区别。

如何给网页中的Flash动画添加超链接?

分类:个人日志  来源:网络  时间:2011-11-28 21:45:58

在网站前台设计中,为美化界面,可能会嵌入Flash动画。如果需要给某个Flash添加超链接,该如何实现?本文将带着这个话题进行探讨,并给出了可行的代码,欢迎阅读。若有不好的地方,欢迎指出。

这里的Flash动画文件为images/welcome.swf,可根据实际情况进行相应的修改,实现超链接的代码如下:

 

<div>

<a href="index1.html">

         <button disabled style="width:100px;height:50px;border:0px;cursor:hand">

         <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="50" style="cursor:hand">

           <param name="movie" value="images/welcome.swf">

           <param name="wmode" value="Opaque">

           <param name="quality" value="high">

           <embed src="images/welcome.swf" quality="high"

        pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="50" wmode="Opaque"></embed>

         </object>

         </button>

    </a>

</div>

AS3如何移除容器下所有子显示对象

分类:个人日志  来源:网络  时间:2011-11-27 0:22:49

as3开发中,当需要对某些显示对象重新添加的时候,需要移除原来的显示对象,但有时候会出现移除指定显示对象子元素的时候为什么只移除了一半?请认真阅读下文,你将会豁然开朗。

下列代码先向mainPanel中添加5个显示对象。
var mainPanel:Sprite = new Sprite();
var s1:Sprite = new Sprite();
var s2:Sprite = new Sprite();
var s3:Sprite = new Sprite();
var s4:Sprite = new Sprite();
var s5:Sprite = new Sprite();

mainPanel.addChild(s1);
mainPanel.addChild(s2);
mainPanel.addChild(s3);
mainPanel.addChild(s4);
mainPanel.addChild(s5);
addChild(mainPanel);


下面我们做删除操作:
for(var i:int = 0; i < mainPanel.numChildren; i++) {
    mainPanel.removeChildAt(0);
}
trace(mainPanel.numChildren);

我们将看到最后输出2,说明还有2个显示对象没有删除,为什么?

我们试着做如下修改:
for(var i:int = 0; i < mainPanel.numChildren;) {
    mainPanel.removeChildAt(0);
}
trace(mainPanel.numChildren);

现在输出是0,说明删除完成了,为什么会这样?原来当进入下一次循环的时候mainPanel.numChildren将重新计算,开始是5;第二次将变成4,那时i=1;第三次变成3,i=2;……以此类推你就知道答案了。
为了简便,你可以把什么的代码改成如下格式:
while(mainPanel.numChildren) {
    mainPanel.removeChildAt(0);
}
trace(mainPanel.numChildren);

 

  • 60
  • |<
  • <<
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • >>
  • >|