欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

Flash AS 制作生化危機游戲的簡單嘗試_Flash教程

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

推薦:Flash簡單實現(xiàn)網(wǎng)頁中的Flash動畫全屏
Flash播放器自從升級到FlashPlayer9,0,28,0,也可以使網(wǎng)頁中的Flash通過一個簡單的按鈕實現(xiàn)全屏顯示,和一些視頻網(wǎng)站中的效果基本相同,但是在這個教程里是沒

這個教程先給大家做一個游戲中的場景,只是簡單的嘗試著做做!

友情提醒:由于該教程中演示Flash動畫較多,所以打開本頁后速度會慢些甚至影響瀏覽器!請關(guān)閉其它所有程序嘗試!在教程的最后提供了所有演示的Fla源文件。

首先布置地圖,并且做一個角色。

Flash AS 制作生化危機游戲的簡單嘗試

引入一幅地圖當作背景,轉(zhuǎn)換為元件。

Flash AS 制作生化危機游戲的簡單嘗試

角色的建立

Flash AS 制作生化危機游戲的簡單嘗試

做好了上面的就可以了!下面我們開始添加代碼。回到第一幀,添加如下代碼。

walk_speed = 3;
radius = 8;
_root.attachMovie("ground", "ground", _root.getNextHighestDepth());
_root.attachMovie("environment", "environment", _root.getNextHighestDepth());
_root.attachMovie("player", "player", _root.getNextHighestDepth(), {_x:250, _y:200});
_root.createEmptyMovieClip("light", _root.getNextHighestDepth());
player.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
this._x -= walk_speed;
}
if (Key.isDown(Key.RIGHT)) {
this._x = walk_speed;
}
if (Key.isDown(Key.UP)) {
this._y -= walk_speed;
}
if (Key.isDown(Key.DOWN)) {
this._y = walk_speed;
}
while (_root.environment.hitTest(this._x, this._y radius, true)) {
this._y--;
}
while (_root.environment.hitTest(this._x, this._y-radius, true)) {
this._y ;
}
while (_root.environment.hitTest(this._x-radius, this._y, true)) {
this._x ;
}
while (_root.environment.hitTest(this._x radius, this._y, true)) {
this._x--;
}
dist_x = this._x-_root._xmouse;
dist_y = this._y-_root._ymouse;
angle = -Math.atan2(dist_x, dist_y);
this._rotation = angle/(Math.PI/180);
};

測試效果,這時有地圖和角色了。

我們再繼續(xù)修改代碼。

torch_power = 100;
torch_step = 100;
torch_angle = 60;
torch_angle_step = 20;
walk_speed = 3;
radius = 8;
_root.attachMovie("ground", "ground", _root.getNextHighestDepth());
_root.attachMovie("environment", "environment", _root.getNextHighestDepth());
_root.attachMovie("player", "player", _root.getNextHighestDepth(), {_x:250, _y:200});
_root.createEmptyMovieClip("light", _root.getNextHighestDepth());
player.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
this._x -= walk_speed;
}
if (Key.isDown(Key.RIGHT)) {
this._x = walk_speed;
}
if (Key.isDown(Key.UP)) {
this._y -= walk_speed;
}
if (Key.isDown(Key.DOWN)) {
this._y = walk_speed;
}
while (_root.environment.hitTest(this._x, this._y radius, true)) {
this._y--;
}
while (_root.environment.hitTest(this._x, this._y-radius, true)) {
this._y ;
}
while (_root.environment.hitTest(this._x-radius, this._y, true)) {
this._x ;
}
while (_root.environment.hitTest(this._x radius, this._y, true)) {
this._x--;
}
dist_x = this._x-_root._xmouse;
dist_y = this._y-_root._ymouse;
angle = -Math.atan2(dist_x, dist_y);
this._rotation = angle/(Math.PI/180);
light.clear();
light.lineStyle(1, 0xffffff);
for (x=0; x<=torch_angle; x = (torch_angle/torch_angle_step)) {
light.moveTo(this._x, this._y);
ray_angle = angle/(Math.PI/180)-90-(torch_angle/2) x;
ray_angle = ray_angle*(Math.PI/180);
light.lineTo(this._x (torch_power)*Math.cos(ray_angle), this._y (torch_power)*Math.sin(ray_angle));
light.lineTo(this._x, this._y);
}
};

效果如下。

我們再繼續(xù)修改代碼。

torch_power = 100;
torch_step = 100;
torch_angle = 60;
torch_angle_step = 20;
walk_speed = 3;
radius = 8;
_root.attachMovie("ground", "ground", _root.getNextHighestDepth());
_root.attachMovie("environment", "environment", _root.getNextHighestDepth());
_root.attachMovie("player", "player", _root.getNextHighestDepth(), {_x:250, _y:200});
_root.createEmptyMovieClip("light", _root.getNextHighestDepth());
player.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
this._x -= walk_speed;
}
if (Key.isDown(Key.RIGHT)) {
this._x = walk_speed;
}
if (Key.isDown(Key.UP)) {
this._y -= walk_speed;
}
if (Key.isDown(Key.DOWN)) {
this._y = walk_speed;
}
while (_root.environment.hitTest(this._x, this._y radius, true)) {
this._y--;
}
while (_root.environment.hitTest(this._x, this._y-radius, true)) {
this._y ;
}
while (_root.environment.hitTest(this._x-radius, this._y, true)) {
this._x ;
}
while (_root.environment.hitTest(this._x radius, this._y, true)) {
this._x--;
}
dist_x = this._x-_root._xmouse;
dist_y = this._y-_root._ymouse;
angle = -Math.atan2(dist_x, dist_y);
this._rotation = angle/(Math.PI/180);
light.clear();
light.lineStyle(1, 0xffffff);
for (x=0; x<=torch_angle; x = (torch_angle/torch_angle_step)) {
light.moveTo(this._x, this._y);
ray_angle = angle/(Math.PI/180)-90-(torch_angle/2) x;
ray_angle = ray_angle*(Math.PI/180);
for (y=1; y<=torch_step; y ) {
if (environment.hitTest(this._x (torch_power/torch_step*y)*Math.cos(ray_angle), this._y (torch_power/torch_step*y)*Math.sin(ray_angle), true)) {
break;
}
}
light.lineTo(this._x (torch_power/torch_step*y)*Math.cos(ray_angle), this._y (torch_power/torch_step*y)*Math.sin(ray_angle));
}
};

效果如下。

我們再繼續(xù)修改代碼。

torch_power = 100;
torch_step = 100;
torch_angle = 60;
torch_angle_step = 20;
walk_speed = 3;
radius = 8;
_root.attachMovie("ground", "ground", _root.getNextHighestDepth());
_root.attachMovie("environment", "environment", _root.getNextHighestDepth());
_root.attachMovie("player", "player", _root.getNextHighestDepth(), {_x:250, _y:200});
_root.createEmptyMovieClip("light", _root.getNextHighestDepth());
player.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
this._x -= walk_speed;
}
if (Key.isDown(Key.RIGHT)) {
this._x = walk_speed;
}
if (Key.isDown(Key.UP)) {
this._y -= walk_speed;
}
if (Key.isDown(Key.DOWN)) {
this._y = walk_speed;
}
while (_root.environment.hitTest(this._x, this._y radius, true)) {
this._y--;
}
while (_root.environment.hitTest(this._x, this._y-radius, true)) {
this._y ;
}
while (_root.environment.hitTest(this._x-radius, this._y, true)) {
this._x ;
}
while (_root.environment.hitTest(this._x radius, this._y, true)) {
this._x--;
}
dist_x = this._x-_root._xmouse;
dist_y = this._y-_root._ymouse;
angle = -Math.atan2(dist_x, dist_y);
this._rotation = angle/(Math.PI/180);
light.clear();
light.lineStyle(1, 0xffffff);
light.moveTo(this._x, this._y);
for (x=0; x<=torch_angle; x = (torch_angle/torch_angle_step)) {
ray_angle = angle/(Math.PI/180)-90-(torch_angle/2) x;
ray_angle = ray_angle*(Math.PI/180);
for (y=1; y<=torch_step; y ) {
if (environment.hitTest(this._x (torch_power/torch_step*y)*Math.cos(ray_angle), this._y (torch_power/torch_step*y)*Math.sin(ray_angle), true)) {
break;
}
}
light.lineTo(this._x (torch_power/torch_step*y)*Math.cos(ray_angle), this._y (torch_power/torch_step*y)*Math.sin(ray_angle));
}
light.lineTo(this._x, this._y);
};

效果如下。

我們再繼續(xù)修改代碼。

torch_power = 100;
torch_step = 100;
torch_angle = 60;
torch_angle_step = 20;
walk_speed = 3;
radius = 8;
_root.attachMovie("ground", "ground", _root.getNextHighestDepth());
_root.attachMovie("environment", "environment", _root.getNextHighestDepth());
_root.attachMovie("player", "player", _root.getNextHighestDepth(), {_x:250, _y:200});
_root.createEmptyMovieClip("light", _root.getNextHighestDepth());
player.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
this._x -= walk_speed;
}
if (Key.isDown(Key.RIGHT)) {
this._x = walk_speed;
}
if (Key.isDown(Key.UP)) {
this._y -= walk_speed;
}
if (Key.isDown(Key.DOWN)) {
this._y = walk_speed;
}
while (_root.environment.hitTest(this._x, this._y radius, true)) {
this._y--;
}
while (_root.environment.hitTest(this._x, this._y-radius, true)) {
this._y ;
}
while (_root.environment.hitTest(this._x-radius, this._y, true)) {
this._x ;
}
while (_root.environment.hitTest(this._x radius, this._y, true)) {
this._x--;
}
dist_x = this._x-_root._xmouse;
dist_y = this._y-_root._ymouse;
angle = -Math.atan2(dist_x, dist_y);
this._rotation = angle/(Math.PI/180);
light.clear();
light.beginFill(0xffffff, 100);
light.lineStyle(1, 0xffffff);
light.moveTo(this._x, this._y);
for (x=0; x<=torch_angle; x = (torch_angle/torch_angle_step)) {
ray_angle = angle/(Math.PI/180)-90-(torch_angle/2) x;
ray_angle = ray_angle*(Math.PI/180);
for (y=1; y<=torch_step; y ) {
if (environment.hitTest(this._x (torch_power/torch_step*y)*Math.cos(ray_angle), this._y (torch_power/torch_step*y)*Math.sin(ray_angle), true)) {
break;
}
}
light.lineTo(this._x (torch_power/torch_step*y)*Math.cos(ray_angle), this._y (torch_power/torch_step*y)*Math.sin(ray_angle));
}
light.lineTo(this._x, this._y);
light.endFill();
ground.setMask(light);
};

效果如下。

好了!今天先講到這里。最后給大家提供上面所有演示的源文件。點擊這里下載Fla源文件(431K自行查殺病毒)

分享:Flash教程:用AS實現(xiàn)右鍵菜單的最簡單方法
非常簡單的代碼,把下面代碼直接放到新建立的Flash的第一幀varlinkURL=http://m.dounai2.com;varlinkText=連接到我的網(wǎng)站;//定義一個新的右鍵菜單項

來源:網(wǎng)頁教學網(wǎng)//所屬分類:Flash教程/更新時間:2008-03-05
相關(guān)Flash教程