用PS制作的鼠标跟随字要怎么导入空间
鼠标跟随其实是一个很简单的问题,可以有很多种算法来实现,在这里我介绍一下我自己编写的一种,希望大家参考。
第一步:建立一个word
MC,内有一个在中间的动态文字框,去掉可选,只需要能容纳一个字即可。字的颜色可以自己设定(千万不能是和底色是一样的啊!)
第二步:在library的连接里将word
MC输出为word
符号已被以后使用你看前两步很简单吧
以后的也不难,只要你会一点点的action
第三步:(也很容易的)在你想要有移动文字的场景下(可以是主场景,也可以是另外一个mc,我是用的一个mc叫move),将默认层改为action层,然后添加两个关键帧,第二帧里的动作是:
gotoAndPlay(1)
注意:我这里不用mc,而用两帧的循环来替代entframe,我建议大家尽量把程序写在时间轴里,因为这样更有利于程序的管理,和程序运行顺序的选择,程序更一目了然,容易理解,希望大家养成这个好习惯。
第四步:(到这里还不难吧,下面是关键的程序了,就是第一帧的程序)
鼠标跟随关键是要每个文字都要跟随鼠标,但是速度不能一样快,最后停止的位置也不能一样,理解了这一点,程序就很容易理解了。具体程序及说明如下:
if
(ip
==
null)
{
Mouse.hide()
//隐藏鼠标
lx
=
20
//
设置字的间距
string
=
"当前帧工作室"
//
设置要跟随的文字
wordlenth
=
string.length
for
(i=0
i<wordlenth
i++)
{
this.attachMovie("word",
"word"+i,
i+1)
this["word"+i].word
=
mbsubstring(string,
i+1,
1)
//获取mc并把要显示的字一次导入其中显示
}
ip
=
0
}
//
delay
=
6//
设置延迟时间,来控制字的移动速度
word0._x
+=
(_xmouse+lx-word0._x)/delay
//
初始化第一个字的位置
word0._y
+=
(_ymouse-word0._y)/delay
for
(i=1
i<wordlenth
i++)
{
//
确定以后字的移动和位置
delay
+=
0.5
this["word"+i]._x
+=
(this["word"+(i-1)]._x+lx-this["word"+i]._x)/delay
this["word"+i]._y
+=
(this["word"+(i-1)]._y-this["word"+i]._y)/delay
}
//
设计者,蓝麒麟设计资源网
//
版权所有、欢迎复制^_^
以上就是整个程序了,就这么简单,不难吧^_^。
if
(ip
==
null)这句判断是为了数据的初始化,在里面的程序仅执行一次,以后就不执行了。
(这可是非常有用的阿,一定要掌握)
第五步:好了,所有的事都做完了,下面的就是画蛇添足了,就是加上一个自己的鼠标,做一个自己的鼠标mouse放到主场景下,然后在action层里加一句:
startDrag
("mouse",
true)
还有就是可别忘了隐藏自己的鼠标啊。
以前的麒麟网现在还能玩
北京麒麟网信息科技有限公司(简称“麒麟游戏”)是一家以网络游戏研发和运营为核心业务的综合性互动娱乐企业,现已更名为北京麒麟网文化股份有限公司。雄厚的资金基础、自主研发的游戏引擎和游戏开发平台、富有创新游戏设计理念的研发团队,加之营销经验丰富的运营团队,充分保证了麒麟游戏能够在不断发展变化的市场环境中,持续推出符合主流网游消费群体需求的网游产品。
第二步:在library的连接里将word MC输出为word 符号已被以后使用你看前两步很简单吧
以后的也不难,只要你会一点点的action
第三步:在你想要有移动文字的场景下(可以是主场景,也可以是另外一个mc,我是用的一个mc叫move),将默认层改为action层,然后添加两个关键帧,第二帧里的动作是:
gotoAndPlay(1)
注意:我这里不用mc,而用两帧的循环来替代entframe,我建议大家尽量把程序写在时间轴里,因为这样更有利于程序的管理,和程序运行顺序的选择,程序更一目了然,容易理解,希望大家养成这个好习惯。
第四步:(到这里还不难吧,下面是关键的程序了,就是第一帧的程序)
鼠标跟随关键是要每个文字都要跟随鼠标,但是速度不能一样快,最后停止的位置也不能一样,理解了这一点,程序就很容易理解了。具体程序及说明如下:
if (ip == null) {
Mouse.hide()//隐藏鼠标
lx = 20// 设置字的间距
string = "当前帧工作室"// 设置要跟随的文字
wordlenth = string.length
for (i=0i<wordlenthi++) {
this.attachMovie("word", "word"+i, i+1)
this["word"+i].word = mbsubstring(string, i+1, 1)
//获取mc并把要显示的字一次导入其中显示
}
ip = 0
}
//
delay = 6// 设置延迟时间,来控制字的移动速度
word0._x += (_xmouse+lx-word0._x)/delay
// 初始化第一个字的位置
word0._y += (_ymouse-word0._y)/delay
for (i=1i<wordlenthi++) {
// 确定以后字的移动和位置
delay += 0.5
this["word"+i]._x += (this["word"+(i-1)]._x+lx-this["word"+i]._x)/delay
this["word"+i]._y += (this["word"+(i-1)]._y-this["word"+i]._y)/delay
}
// 设计者,蓝麒麟设计资源网
// 版权所有、欢迎复制^_^
以上就是整个程序了,就这么简单,不难吧^_^。
if (ip == null)这句判断是为了数据的初始化,在里面的程序仅执行一次,以后就不执行了。
(这可是非常有用的阿,一定要掌握)
第五步:好了,所有的事都做完了,下面的就是画蛇添足了,就是加上一个自己的鼠标,做一个自己的鼠标mouse放到主场景下,然后在action层里加一句:
startDrag ("mouse", true)
还有就是可别忘了隐藏自己的鼠标啊。