FLASH中拖动、放大图片代码

1,有一张图片,比舞台大很多,想用鼠标可以拖动它.但图片边缘不要拖进舞台.2,当双击某处时,会把双击处逐渐放大.另外,1,想在舞台上添加三个按钮,放大,缩小和复位====... 1,有一张图片,比舞台大很多,想用鼠标可以拖动它.但图片边缘不要拖进舞台.
2,当双击某处时,会把双击处逐渐放大.
另外,1,想在舞台上添加三个按钮,放大,缩小和复位
=======================================
不好意思,没有表达清楚,"当双击某处时,会把双击处逐渐放大". 意思是.当双击某处后.此点会置于舞台的中央位置后逐渐放大!
展开
 我来答
af6
2009-09-07 · TA获得超过325个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:103万
展开全部
这个简单,用一段代码就可以了。分太少了点。你那么多分,再加个100 我帮你写好 ^_^
------------------------------------------
呵呵~你还真加了。今天我仔细看了下你的问题,原来是双击放大,之前看成单击了,要知道flash中双击鼠标事件是没有现存语句的,不像单击事件那个简单,先让我汗一下。。。。。。 好了,双击也不是没办法的事情,刚才自己写了一段代码,经测试效果还是不错的,不然就对不住你加的分了。废话少说,说正事。
--------------------
第一、导入一张大图片到库中。
第二、新建一影片剪辑,将库中的图片拖入,属性中x与y坐标都设为0(这个要注意),然后按Ctrl+B将图片打散。再新建个影片剪辑,将刚才的影片拖入进来,居中对齐。
第三、返回主场景,将第二个影片剪辑拖入场景中,实例名为ph_mc ,新建一图层,在第一帧将以下代码复制进去:
var time:Number = 1;
var n:Number = 0;
//按下鼠标拖动
ph_mc.onPress = function() {
n += 1;
this.startDrag(false, -860, -1407, -274, -200);
//括号中的四个数字分别定位图片的“左”、“顶”、“右”、“底”,根据你场景大小调整。
};
//松开鼠标停止拖动
ph_mc.onRelease = function() {
stopDrag();
};
//end the function()
onEnterFrame = function () {
if (time == 0) {
time = 1;
}
if (n>2) {
n = 0;
}
if (n == 2) {
//每双击一次放大10%
ph_mc._xscale += 10;
ph_mc._yscale += 10;
}
};
//end the function()
function EndTime() {
if (time>0) {
time -= 1;
}
if (time == 0) {
n = 0;
}
if (time == 1) {
n = 0;
}
}
setInterval(EndTime, 500);
//此处的500是两次按下鼠标的时间间隔,单位(毫秒),就是两次按下鼠标间隔在500毫秒内就视为双击,否则就视为单击,可以调节双击的速度。

===========================
到此所有的都完成了,我测试时没问题的,希望你也能测试成功~
=========================================
还忘了你的补充问题,现在给一起加上,其它的就不用多说了,上面已经讲的很清楚了,现在就只说三个按钮吧。
在主场景中新建三个按钮,实例名分别为 btn_big 、btn_small 、btn_rt
在主场景的第一帧追加一下代码:
var sw = ph_mc._width;
var sh = ph_mc._height;
//每次放大10%
btn_big.onRelease = function() {
ph_mc._xscale += 10;
ph_mc._yscale += 10;
};
//每次缩小10%
btn_small.onRelease = function() {
ph_mc._xscale -= 10;
ph_mc._yscale -= 10;
};
//复位按钮
btn_rt.onRelease = function() {
ph_mc._width = sw;
ph_mc._height = sh;
};
----------------------------------------
所有的回答完毕,如果阁下愿意的话,可以给我追加点分啊,O(∩_∩)O哈哈~ 说说玩的,随你意了,我不介意。
石野生活馆
2009-09-05 · TA获得超过105个赞
知道答主
回答量:57
采纳率:0%
帮助的人:42.8万
展开全部
点击图片变大代码for (var d:Number = 0; d<=2; d++) {
this["pic"+d+"_mc"].onPress = function() {
mx.behaviors.DepthControl.bringToFront(this);//移到最前
startDrag(this);
this.onEnterFrame = function() {
this._xscale += (200-this._xscale)/4;//缓冲放大
this._yscale += (200-this._yscale)/4;
if (this._xscale>=200) {
delete this.onEnterFrame;
}
};
};
this["pic"+d+"_mc"].onRelease = function() {
stopDrag();
this.onEnterFrame = function() {
this._xscale -= (this._xscale-100)/4;//缓冲缩小
this._yscale -= (this._yscale-100)/4;
if (this._xscale<=100) {
delete this.onEnterFrame;
}
};
};
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
历恬美臧龙
2019-10-04 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:705万
展开全部
我已加你QQ把你要放大的图片做成景片剪辑,把影片剪辑放到主场景后给个实名,在放大按钮上加下列代码:
on
(press)
{
mc._xscale+=10;
mc._yscale+=10;
}
在景片剪辑上加下列代码:
onClipEvent
(mouseDown)
{
startDrag("mc",
false,
0,
0,
300,
200);
}
onClipEvent
(mouseUp)
{
stopDrag();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
井丁辰玉洛
游戏玩家

2020-03-18 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:9521
采纳率:26%
帮助的人:857万
展开全部
你可以在flash里面新建一个空白的影片剪辑在剪辑里面随意画一点东西.然后将这个影片元件拖到场景之中,你场景中要几个这样的元件你就拖几个,我这里拖了四个同样的影片剪辑.并在场景中给这个影片剪辑各命一个实例名称.选中一个空白影片剪辑.然后点属性面板就可以命名了.我们可以随意合.我把它们分别命名为mc1
mc2
mc3
mc4吧.
现在就在时间轴上的第一帧写上下边的语句就行了.
mc1.onpress=function
()
{
startdrag(this);
}
mc1.onrelease=function
()
{
stopdrag();
}
mc2.onpress=function
()
{
startdrag(this);
}
mc2.onrelease=function
()
{
stopdrag();
}
mc3.onpress=function
()
{
startdrag(this);
}
mc3.onrelease=function
()
{
stopdrag();
}
mc4.onpress=function
()
{
startdrag(this);
}
mc4.onrelease=function
()
{
stopdrag();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乘心宜於初
2020-03-02 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:857万
展开全部
你要是这个效果做都有问题
给你推荐一个
吕聪贤老师的教程
在迅雷上面输入
FLASH教程
里面有个教程很多人下
你一看就知道了
而且这个老师还讲了很多其他案列
特别适合新手哈
强烈推荐哦~!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式