北京中心
│
上海中心
│
青岛中心
│
香港中心
│
网上报名
│
在线问答
网站首页
学历教育
学院介绍
教学环境
师资介绍
公司作品
课程设置
学生作品
报名须知
就业指导
学生访谈
活动合作
教学成果
交流社区
黑板报
电子杂志
图书出版
北京中心
上海中心
青岛中心
香港中心
English
开课时间
优惠政策
付款方式
乘车方式
招生简章
关于就业
师资介绍
学生作品
关于食宿
常见问题
您在这里
首页
>
交流社区
社区首页
游客:
注册
|
登录
|
统计
|
帮助
水晶石数字论坛
»
网页设计及多媒体设计专区
» Flash利用材质和遮照创建真实的小球动画
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题:
[Flash]
Flash利用材质和遮照创建真实的小球动画
店小一
UID 10001
精华 0
积分 0
帖子 2233
积分 11165 分
水晶石 0 颗
学徒 0 级
阅读权限 10
注册 2008-7-15
#1
使用道具
发表于 2008-8-6 16:12
资料
个人空间
短消息
加为好友
Flash利用材质和遮照创建真实的小球动画
非常不错的一个教程,在Flash中制作一个真实的小球。教程都是利用Action Script实现。
在文章最后提供了所有演示效果的源文件。
首先制作一个小球的电影元件,只要画一个圆然后转变为电影剪辑元件就可以。电影剪辑名字叫ball。
然后在第一帧加入下面代码:
power = 0.3;
yspeed = 0;
xspeed = 0;
friction = 0.95;
_root.attachMovie("ball", "ball", 1, {_x:250, _y:175});
ball.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
xspeed -= power;
}
if (Key.isDown(Key.RIGHT)) {
xspeed += power;
}
if (Key.isDown(Key.UP)) {
yspeed -= power
}
if (Key.isDown(Key.DOWN)) {
yspeed += power
}
xspeed *= friction;
this._y += yspeed;
this._x += xspeed;
};
效果如下:(按键盘方向键可以看到效果)
给小球来个渐变填充,象一个球了!呵呵
再来个阴影。
下面我们再给引入一幅材质图案,库面板如下:
效果如下:
然后利用ActionScript加上遮照。主要是利用mc.setMask()函数设置遮照了!
power = 0.3;
yspeed = 0;
xspeed = 0;
friction = 0.95;
_root.attachMovie("ball", "ball", 1, {_x:250, _y:175});
ball.texture.setMask(ball.ball_itself);
ball.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
xspeed -= power;
}
if (Key.isDown(Key.RIGHT)) {
xspeed += power;
}
if (Key.isDown(Key.UP)) {
yspeed -= power
}
if (Key.isDown(Key.DOWN)) {
yspeed += power
}
xspeed *= friction;
this._y += yspeed;
this._x += xspeed;
};
效果如下:
然后我们让该球真的滚动起来,滚动的更加真实。
power = 0.3;
yspeed = 0;
xspeed = 0;
friction = 0.95;
_root.attachMovie("ball", "ball", 1, {_x:250, _y:175});
ball.texture.setMask(ball.ball_itself);
ball.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
xspeed -= power;
}
if (Key.isDown(Key.RIGHT)) {
xspeed += power;
}
if (Key.isDown(Key.UP)) {
yspeed -= power;
}
if (Key.isDown(Key.DOWN)) {
yspeed += power;
}
xspeed *= friction;
yspeed *= friction;
this._y += yspeed;
this._x += xspeed;
this.texture._y += yspeed;
this.texture._x += xspeed;
if (this.texture._x>158) {
this.texture._x -= 188;
}
if (this.texture._x<-158) {
this.texture._x += 188;
}
if (this.texture._y>158) {
this.texture._y -= 188;
}
if (this.texture._y<-158) {
this.texture._y += 188;
}
};
效果如下:
下面是另外一种材质制作的动画。
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
清除 Cookies
-
联系我们
-
水晶石数字论坛
-
Archiver
-
WAP
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计