欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

用Flash制作一個類似彈弓的小游戲教程_Flash教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:Flash動畫技巧:動畫中人物奔跑動作的規(guī)律
人的奔跑動作的基本規(guī)律:人在奔跑中的基本規(guī)律是:身體重心前傾,手臂成屈曲狀,兩手自然握拳,雙腳的跨步動作幅度較大,頭的高低變化也比走路動作大。在處理

利用Flash制作一個類似于彈弓的小游戲的教程,主要由Actionscript實現(xiàn),代碼大家由淺入深來理解。

思路是預(yù)備三個小球元件,然后使其中一個可以拖動,使之沿著一條線移動,計算一下移動的角度,最后實現(xiàn)類似彈弓的一個小游戲。友情提示,本文中的演示動畫在文章最后提供Fla源文件。

啟動Flash首先我們繪制兩個元件,非常簡單的。繪制一個小球然后轉(zhuǎn)變?yōu)橛捌糨嬙瑯臃椒ㄔ俳ㄗh一個不同顏色的小球的影片剪輯。

用Flash制作一個類似彈弓的小游戲教程

用Flash制作一個類似彈弓的小游戲教程

然后在主場景中直接輸入如下代碼:

attachMovie("sling", "sling_1", _root.getNextHighestDepth(), {_x:20, _y:200});
attachMovie("sling", "sling_2", _root.getNextHighestDepth(), {_x:480, _y:200});
attachMovie("ball", "ball", _root.getNextHighestDepth(), {_x:250, _y:100});
_root.createEmptyMovieClip("elastic", _root.getNextHighestDepth());
ball.onPress = function() {
startDrag(this);
};
ball.onRelease = function() {
stopDrag();
};

測試效果如下:

然后我們通過修改上面的代碼,在兩個小球之間繪制一條線,可以隨中間小球任意移動。

attachMovie("sling", "sling_1", _root.getNextHighestDepth(), {_x:20, _y:200});
attachMovie("sling", "sling_2", _root.getNextHighestDepth(), {_x:480, _y:200});
attachMovie("ball", "ball", _root.getNextHighestDepth(), {_x:250, _y:100});
_root.createEmptyMovieClip("elastic", _root.getNextHighestDepth());
ball.onPress = function() {
startDrag(this);
};
ball.onRelease = function() {
stopDrag();
};
elastic.onEnterFrame = function() {
this.clear();
this.lineStyle(2, 0x009900);
this.moveTo(sling_1._x, sling_1._y);
if (ball._y>182) {
dist_x = ball._x-sling_1._x;
dist_y = ball._y-sling_1._y;
distance_from_sling = Math.sqrt(dist_x*dist_x dist_y*dist_y);
elastic_length = Math.sqrt(distance_from_sling*distance_from_sling-18*18);
angle = Math.atan2(dist_y, dist_x) Math.asin(18/distance_from_sling);
this.lineTo(sling_1._x elastic_length*Math.cos(angle), sling_1._y elastic_length*Math.sin(angle));
} else {
this.lineTo(sling_2._x, sling_2._y);
}
this.moveTo(sling_2._x, sling_2._y);
if (ball._y>182) {
dist_x = ball._x-sling_2._x;
dist_y = ball._y-sling_2._y;
distance_from_sling = Math.sqrt(dist_x*dist_x dist_y*dist_y);
elastic_length = Math.sqrt(distance_from_sling*distance_from_sling-18*18);
angle = Math.atan2(dist_y, dist_x) Math.asin(18/distance_from_sling)*-1;
this.lineTo(sling_2._x elastic_length*Math.cos(angle), sling_2._y elastic_length*Math.sin(angle));
} else {
this.lineTo(sling_2._x, sling_2._y);
}
};

測試效果。

在這里我們可以很輕松的計算出小球在線上的角度來。

用Flash制作一個類似彈弓的小游戲教程

稍微做一下改動。

attachMovie("sling", "sling_1", _root.getNextHighestDepth(), {_x:20, _y:200});
attachMovie("sling", "sling_2", _root.getNextHighestDepth(), {_x:480, _y:200});
attachMovie("ball", "ball", _root.getNextHighestDepth(), {_x:250, _y:100});
_root.createEmptyMovieClip("elastic", _root.getNextHighestDepth());
xspeed = 0;
yspeed = 0;
fire = false;
ball.onPress = function() {
fire = false;
startDrag(this);
};
ball.onRelease = function() {
stopDrag();
fire = true;
};
ball.onEnterFrame = function() {
if (fire) {
this._x = (xspeed*0.001);
this._y = (yspeed*0.001);
}
};
elastic.onEnterFrame = function() {
this.clear();
this.lineStyle(2, 0x009900);
this.moveTo(sling_1._x, sling_1._y);
if (ball._y>182) {
dist_x = ball._x-sling_1._x;
dist_y = ball._y-sling_1._y;
distance_from_sling = Math.sqrt(dist_x*dist_x dist_y*dist_y);
elastic_length = Math.sqrt(distance_from_sling*distance_from_sling-18*18);
angle = Math.atan2(dist_y, dist_x) Math.asin(18/distance_from_sling);
saved_angle = angle;
this.lineTo(sling_1._x elastic_length*Math.cos(angle), sling_1._y elastic_length*Math.sin(angle));
this.lineTo(ball._x,ball._y);
} else {
this.lineTo(sling_2._x, sling_2._y);
}
this.moveTo(sling_2._x, sling_2._y);
if (ball._y>182) {
dist_x = ball._x-sling_2._x;
dist_y = ball._y-sling_2._y;
distance_from_sling = Math.sqrt(dist_x*dist_x dist_y*dist_y);
elastic_length = Math.sqrt(distance_from_sling*distance_from_sling-18*18);
angle = Math.atan2(dist_y, dist_x) Math.asin(18/distance_from_sling)*-1;
this.lineTo(sling_2._x elastic_length*Math.cos(angle), sling_2._y elastic_length*Math.sin(angle));
this.lineTo(ball._x,ball._y);
} else {
this.lineTo(sling_2._x, sling_2._y);
}
};

測試效果如下。

最后我們讓小球自動運動或者你可以用鼠標(biāo)拖動小球。

var ball:MovieClip = _root.attachMovie("ball", "ball", 2, {_x:250, _y:100});
var elastic:MovieClip = _root.createEmptyMovieClip("elastic", 1);
var point1:MovieClip = _root.attachMovie("sling", "point1", 3, {_x:50, _y:200});
var point2:MovieClip = _root.attachMovie("sling", "point2", 4, {_x:450, _y:200});
var gravity = 0.1;
var angle1:Number = 0;
var angle2:Number = 0;
var radius:Number = 13.0;
// Or whatever half the width of your ball is.
var elasticCoefficient:Number = 0.001;
// This number will affect the stretchiness of the sling. The greater the number
// the tighter the elastic will be.
var released:Boolean = true;
var forced:Boolean = false;
var acc:Object = {x:0, y:0};
var vel:Object = {x:0, y:0};
_root.onMouseDown = function() {
ball._x = _root._xmouse;
ball._y = _root._ymouse;
ball.startDrag();
_root.released = false;
vel.x = 0;
vel.y = 0;
};
_root.onMouseUp = function() {
ball.stopDrag();
_root.released = true;
};
ball.onPress = function() {
ball.startDrag();
_root.released = false;
vel.x = 0;
vel.y = 0;
};
ball.onRelease = function() {
ball.stopDrag();
_root.released = true;
};
_root.onEnterFrame = function() {
elastic.clear();
elastic.lineStyle(3, 0xFF0000);
if (released) {
ball._x = vel.x;
ball._y = vel.y;
}
if (ball._y>=187) {
/* This area differs from the code in the tutorial.
The reason for that is I didn't read the code, I just looked at the examples.
I try to gain experience with problem-solving by doing things as close to by myself as possible. */
forced = true;
var x1:Number = ball._x-point1._x;
var y1:Number = ball._y-point1._y;
var x2:Number = point2._x-ball._x;
var y2:Number = point2._y-ball._y;
var distance1:Number = Math.sqrt(x1*x1 y1*y1);
var distance2:Number = Math.sqrt(x2*x2 y2*y2);
_root.angle1 = Math.atan2(y1, x1);
_root.angle2 = Math.atan2(y2, x2);
var xOffset:Number = Math.cos(angle1 Math.PI/2)*radius;
var yOffset:Number = Math.sin(angle1 Math.PI/2)*radius;
var xOffset2:Number = Math.cos(angle2 Math.PI/2)*radius;
var yOffset2:Number = Math.sin(angle2 Math.PI/2)*radius;
angle1 = Math.sin(radius/distance1);
angle2 = Math.sin(radius/distance2)*-1;
elastic.moveTo(point1._x, point1._y);
elastic.lineTo(ball._x xOffset, ball._y yOffset);
elastic.moveTo(point2._x, point2._y);
elastic.lineTo(ball._x xOffset2, ball._y yOffset2);
} else {
forced = false;
elastic.moveTo(point1._x, point1._y);
elastic.lineTo(point2._x, point2._y);
}
acc.x = 0;
acc.y = 0;
acc.y = gravity;
if (released && forced) {
/* This section applies the force of the sling to the ball in terms of acceleration based on the stretching of
the sling, in the direction of the displacement, scaled by a coefficient that also encapsulates the mass of
the ball. */
acc.x = distance1*Math.sin(angle2)*elasticCoefficient;
acc.y = -distance1*Math.cos(angle1)*elasticCoefficient;
acc.x = distance2*Math.sin(angle1)*elasticCoefficient;
acc.y = -distance2*Math.cos(angle2)*elasticCoefficient;
}
if (released) {
vel.x = acc.x;
vel.y = acc.y;
}
};

測試最終效果。

以上演示動畫的所有Fla源文件提供下載:點擊這里下載源文件(解壓密碼:www.ghpqjb.com)

分享:Flash教程:AS3.0 實現(xiàn)FLASH的“動態(tài)鏈接庫”
因為以前是做.net的開發(fā)的,所以很習(xí)慣與DLL文件,覺得它異常方便,非凡開發(fā)大型項目時,分成不同的DLL文件進行開發(fā),不但節(jié)省了編譯的時間,也使得程序結(jié)構(gòu)更加完

來源:網(wǎng)頁教學(xué)網(wǎng)//所屬分類:Flash教程/更新時間:2008-03-05
相關(guān)Flash教程
欧美亚洲自拍偷拍| 麻豆视频观看网址久久| 亚洲国产精品麻豆| 国产69久久精品成人| www.国产区| 91丨porny丨在线中文 | 日韩日本欧美亚洲| 50度灰在线观看| 久久黄色精品视频| 亚洲精品97| 精品成人久久av| 国产精品久久久久久亚洲调教 | 成人国产亚洲精品a区天堂华泰| 国产精品久久久久久久99| 日韩在线观看视频网站| 青青国产91久久久久久| 日韩欧美国产一区二区三区 | 视频精品导航| 成人精品gif动图一区| 亚洲欧洲高清在线| 无码毛片aaa在线| 亚洲免费在线观看av| 91精品婷婷色在线观看| 日韩欧美在线观看视频| 91av一区二区三区| 无码一区二区三区在线| av成人资源| 国产精品护士白丝一区av| 欧美精品激情视频| 国产美女视频免费看| 午夜激情成人网| 成人免费毛片嘿嘿连载视频| 中文字幕日韩av电影| 97国产精东麻豆人妻电影| 国产老妇伦国产熟女老妇视频| 久久久777| 欧美精品一区二区三区蜜臀| 一区二区三区国产福利| 精品国产一区二区三区四| 欧美大片专区| 欧美三级日韩三级| 蜜桃精品久久久久久久免费影院| 免费三片在线播放| 亚洲xxx拳头交| 欧美三级电影精品| 欧美一二三四五区| 欧美另类一区二区| 国产日韩亚洲| 亚洲电影中文字幕| 日本老太婆做爰视频| 91精品国产色综合久久不8| 丝袜诱惑亚洲看片| 亚洲人精品午夜在线观看| 99色这里只有精品| 亚洲h视频在线观看| 国产一区二区0| 久久久国产一区二区三区| 鲁一鲁一鲁一鲁一av| 性高爱久久久久久久久| 久久综合狠狠综合久久综合88 | www.17c.com喷水少妇| 精品国产亚洲一区二区三区在线 | 精品国产乱码久久久久久天美 | 日韩av在线播放网址| 在线中文字幕不卡| 日产精品久久久一区二区| 老熟妇仑乱一区二区av| 丝袜美腿高跟呻吟高潮一区| 国产亚洲精品美女久久久久 | 国产精品123| 欧美韩日一区二区| 波多野结衣一二三区| 牛牛视频精品一区二区不卡| 黄色一区二区三区| 欧美亚州在线观看| 中文字幕在线观看国产| 国模无码大尺度一区二区三区| 久久精品人人做人人爽| 蜜桃视频无码区在线观看| 丁香一区二区| 色综合天天狠狠| 日韩欧美视频第二区| 国产精品欧美激情在线| 国产成人小视频| 45www国产精品网站| 国产高潮呻吟久久| 久久久久国产| 亚洲成人激情图| 久久国产乱子伦免费精品| 国产亚洲欧美日韩精品一区二区三区 | 在线不卡中文字幕播放| 日韩在线视频在线| 亚洲欧美日本在线观看| 国产欧美综合在线| 444亚洲人体| 国产精品xxxx喷水欧美| 免费精品99久久国产综合精品| 久久婷婷国产麻豆91天堂| 蜜臀视频在线观看| 日韩精品中文字幕第1页| 日韩一区二区三区视频| 欧美在线观看www| 亚洲资源在线| 欧美日韩精品在线播放| 亚洲欧美精品在线观看| 丰满人妻一区二区三区免费视频| 久久久九九九九| http;//www.99re视频| 加勒比在线一区| 国产不卡视频在线播放| 国产成人中文字幕| 久久婷婷一区二区| 青青草成人在线观看| 欧美激情图片区| 亚洲最大成人综合网| 亚洲激情社区| 久热在线中文字幕色999舞| www.久久av| 欧美体内she精视频在线观看| 亚洲美女动态图120秒| 人妻巨大乳一二三区| 国产一区网站| 亚洲福利视频专区| 国内自拍第二页| sdde在线播放一区二区| 亚洲国产成人91精品| 色18美女社区| 久久在线视频免费观看| 亚洲欧美日韩天堂| 精品人妻人人做人人爽夜夜爽| 日韩在线精品| 亚洲香蕉av在线一区二区三区| 大尺度做爰床戏呻吟舒畅| 欧美日韩视频一区二区三区| 日韩视频在线一区| 国产黄色大片免费看| 性欧美暴力猛交另类hd| 97在线看免费观看视频在线观看| 国产探花在线免费观看| 韩国av一区二区三区四区| 国产精品久久久久久影视| 国产免费观看av| 99久久精品国产网站| 国产91精品一区二区绿帽| 精品久久在线观看| 亚洲欧美另类在线| 好吊色这里只有精品| 国产精品高清一区二区| 欧美日本一道本在线视频| 日本爱爱免费视频| 欧美一级淫片| 伊人成人开心激情综合网| 老熟妇一区二区| 日本aⅴ亚洲精品中文乱码| 国产激情视频一区| 日本中文字幕第一页| 2024国产精品视频| 裸体丰满少妇做受久久99精品| 日本黄视频在线观看| 婷婷开心激情综合| 国产96在线 | 亚洲| 久久婷婷国产| 日韩电影在线观看中文字幕| 国产三级国产精品| 日本不卡不码高清免费观看| 国产精品久久久久久久久借妻| 久草视频在线免费| 中文字幕一区二区5566日韩| 无码人妻aⅴ一区二区三区日本| 日韩国产在线不卡视频| 亚洲成人久久网| 国产白袜脚足j棉袜在线观看| 99精品视频免费| 日本欧美在线视频| 在线观看中文字幕网站| 亚洲欧美另类小说| www.国产在线视频| 久久av超碰| 日韩小视频在线| 青青草原免费观看| 久久久亚洲高清| 亚洲欧洲在线一区| 中文字幕久久精品一区二区| 亚洲国产一区二区三区四区| 国产美女免费网站| 国产高清不卡二三区| 狠狠综合久久av| 国产精品videossex撒尿| 91精品国产综合久久久久久久| 好吊操视频这里只有精品| 亚洲欧美久久久| 国产精品久久久久久久久久久新郎 | 岛国av一区| 亚洲欧美一区二区三区情侣bbw| 一级二级黄色片| 丁香激情综合国产| 日本在线一区| 大伊香蕉精品在线品播放| 亚洲视屏在线播放| 五月天丁香激情| 久久久国产综合精品女国产盗摄| 成人在线免费观看网址| 精品在线91| 久久91亚洲精品中文字幕| 欧美国产成人精品一区二区三区| 一区视频在线播放| 缅甸午夜性猛交xxxx| 欧美gay男男猛男无套| 韩日精品中文字幕| 国产口爆吞精一区二区| 色噜噜偷拍精品综合在线| 又黄又色的网站| 激情五月激情综合网| 久久久水蜜桃| 亚洲专区**| 最新中文字幕亚洲| 久久一区二区三区视频| 亚洲精品va在线观看| 免费看国产黄色片| 久久aⅴ国产紧身牛仔裤| 亚洲自拍偷拍色图| 成人在线观看免费视频| 亚洲精品成人久久电影| 国产高潮国产高潮久久久91| 欧美激情一区三区| 人妻精品无码一区二区三区| 欧美久色视频| 成人网在线免费看| 国产精品天堂蜜av在线播放| 日韩精品免费观看| 久久久久久久久久99| 中文字幕一区日韩精品欧美| 99re在线视频免费观看| 国产亚洲在线观看| 国产精品久久一区二区三区| 免费观看在线一区二区三区| 在线视频亚洲欧美| 男人天堂视频在线| 日韩欧美在线免费观看| 午夜久久久久久久| 成人久久视频在线观看| 国产视频在线观看网站| 国产精品videosex极品| 91在线看网站| 伊人久久大香线蕉av超碰| 久久深夜福利免费观看| 在线免费观看视频网站| 欧美日韩一区二区在线观看视频| 亚洲黄色小说视频| 欧美激情资源网| wwwwxxxx日韩| 精品在线亚洲视频| 亚洲综合av一区| 99久久综合狠狠综合久久aⅴ| 国产精品偷伦免费视频观看的| 欧美日韩卡一| 日韩中文字幕网| 99精品人妻无码专区在线视频区| 91精品久久久久久久99蜜桃| 欧美日韩中文字幕在线观看| 一片黄亚洲嫩模| 怡红院一区二区| 久久亚洲一区二区三区明星换脸| 国产l精品国产亚洲区久久| 日韩黄色免费网站| 亚洲精品一区二区三区四区五区 | 国产又爽又黄免费软件| 欧美一区二区三区白人| 久久免费公开视频| 欧美性猛交xxx| 成人免费视频入口| 一区二区高清在线| 亚洲黄色免费在线观看| 久久精品亚洲一区二区三区浴池| 性生交免费视频| 国产精品亚洲视频| 国产69精品久久久久久久| 久久成人一区| 手机成人av在线| 国内精品久久久久久久影视麻豆 | 99热这里只有精品免费| 亚洲伦伦在线| 日韩欧美在线电影| 欧美成人高清| 欧美h视频在线| 伊人久久大香线| 国外成人在线视频网站| 成人久久电影| 99国产盗摄| 欧美综合一区| 国产精品theporn88| 欧美精选视频在线观看| 亚洲va电影大全| 小说区图片区色综合区| 国产欧美韩国高清| 欧美久久香蕉| 91人人爽人人爽人人精88v| 丝袜av一区| 成人激情免费在线| 午夜欧洲一区| 亚洲精品免费一区二区三区| 亚洲素人在线| 99久久伊人精品影院| 国产中文精品久高清在线不| 18成人在线| 久久精品99久久无色码中文字幕| 国产成人精品自拍| 91久久夜色精品国产按摩| 精品日本一区二区三区| 亚洲高清资源在线观看| 久久国产精品精品国产色婷婷| 忘忧草精品久久久久久久高清| 久久精品美女| 欧美日韩成人| 亚洲激情啪啪| 久久久久中文| 丁香六月激情网| 精品一区二区三区免费观看| 欧美两根一起进3p做受视频| 成人小视频在线| 91视频免费入口| 中文字幕一区二区在线播放 | 久久久久香蕉视频| 欧美情侣在线播放| 黄色一级视频免费看| 日韩高清欧美高清| 亚洲高清视频在线播放| 久久久国产91| 9999在线精品视频| 国产精品入口福利| 国产一区日韩| 欧美美乳视频网站在线观看| 日韩午夜免费| 99在线免费视频观看| 国产福利一区二区三区视频| 亚洲图色中文字幕| 国产精品久久三区| 欧美成人短视频| 欧美日本国产视频| 日韩乱码一区二区三区| 亚洲日本中文字幕免费在线不卡| 亚洲色图欧美视频| 2019中文字幕免费视频| 国产精品18hdxxxⅹ在线| 国产精品露出视频| 激情亚洲网站| 青草视频在线观看视频| 成人天堂资源www在线| 无码人妻久久一区二区三区蜜桃| 亚洲猫色日本管| 欧美卡一卡二卡三| 日韩精品资源二区在线| 亚洲国产日韩在线观看| 久久久女人电视剧免费播放下载 | 99久久99久久精品国产片桃花| 日韩精品最新在线观看| 日韩成人免费电影| 少妇一级淫免费播放| 成人免费在线观看入口| 暗呦丨小u女国产精品| 欧美一级久久久| 亚洲av无码一区二区三区性色| 欧美激情中文字幕乱码免费| 女一区二区三区| 欧美午夜精品理论片a级大开眼界| 日韩极品在线观看| 国产小视频精品| 中文字幕在线一区| 欧美精品一区二区蜜桃| 亚洲第一网站免费视频| 成人性生活av| 国产日韩av在线播放| 欧美视频四区| 大肉大捧一进一出好爽视频| 国产欧美日韩在线| 日韩精品一区二区三区在线视频| 欧美一区二区性放荡片| 日韩一区二区三区不卡| 国产成人亚洲综合青青| 午夜国产一区二区| 成人精品视频在线播放| 久久久久久久国产精品影院| 青青青视频在线免费观看| 欧美成人video| 欧美精品高清| 亚洲一区二区三区久久| 国产精品亚洲综合色区韩国| 欧美大尺度做爰床戏| 亚洲一级二级三级| 无码人妻一区二区三区线| 久久av中文字幕| 久久99性xxx老妇胖精品| 天天干天天色天天爽| 97成人超碰视| 中文字幕乱码av| 国产视频精品免费播放| 日韩一级视频| 激情视频在线观看一区二区三区| 美日韩一区二区三区| 亚洲麻豆一区二区三区|