![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2007
Сообщений: 7
|
D12... убрать то можна, и вращаться он будет, но трудно таким образом управлять игроком (ты всё-таки попробуй удалить и потом поиграть))).
ну а что мне нужно? надо чтобы при выстреле проверялось не попал ли лёд из пушки на противника, и если да, то противник (это такие зелёные головы ползущие со всех сторон) исчезал (и если можно, то плавно, т.к. у меня не получилось сделать работоспособным этот момент=)). но все мои попытки привели к тому, что почему-то если при выстреле лёд попадал на противника, то он исчезал (но!), но потом все кто подходил к игроку тоже пропадали. не очень то весело.. на сим смею завершить мой рассказ для D12, искренне надеюсь что изъяснил всё понятно и "от А до Я" |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 7
|
D12, конечно годится) вот только надо по-быстрее, до 14 желательно ;-)
|
|
|||||
|
меценат
|
Доброй ночи
MasteR'ok я правдо занимаюсь вашей задачей тоько медленно если у вас позволяет время я потихочечку доделаю игру мне правдо стыдно за задержки var tank:Object = new Object();
tank.__go = 2;
tank.__rad = 180/Math.PI;
tank.__di = Math.sqrt(tank.__go, 1/3);
tank__controll = 0;
///
///
function tank_move():Void {
tank__controll = 0;
if (Key.isDown(Key.UP)) {
tank__controll = 1;
}
if (Key.isDown(Key.DOWN)) {
tank__controll = 2;
}
if (Key.isDown(Key.LEFT)) {
tank__controll = 3;
}
if (Key.isDown(Key.RIGHT)) {
tank__controll = 4;
}
if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) {
tank__controll = 5;
}
if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) {
tank__controll = 6;
}
if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) {
tank__controll = 7;
}
if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
tank__controll = 8;
}
//
if (tank__controll == 1) {
tank_baza._y -= tank.__go;
}
if (tank__controll == 2) {
tank_baza._y += tank.__go;
}
if (tank__controll == 3) {
tank_baza._x -= tank.__go;
}
if (tank__controll == 4) {
tank_baza._x += tank.__go;
}
if (tank__controll == 5) {
tank_baza._x -= tank.__di;
tank_baza._y -= tank.__di;
}
if (tank__controll == 6) {
tank_baza._x += tank.__di;
tank_baza._y -= tank.__di;
}
if (tank__controll == 7) {
tank_baza._x -= tank.__di;
tank_baza._y += tank.__di;
}
if (tank__controll == 8) {
tank_baza._x += tank.__di;
tank_baza._y += tank.__di;
}
//
tank_xm = Math.floor(_xmouse);
tank_ym = Math.floor(_ymouse);
q = tank_xm-tank_baza._x;
z = tank_ym-tank_baza._y;
tank_baza._rotation = 0-Math.floor(Math.atan2(q, z)*tank.__rad);
//
tank_zone._x = _xmouse;
tank_zone._y = _ymouse;
tank_zone._rotation += 2;
//
updateAfterEvent();
//
}
setInterval(tank_move, 12);
//////
//////
//////
//////
//////
//////
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники Последний раз редактировалось D12; 15.01.2008 в 01:20. |
|
|||||
|
меценат
|
Но тут еще много работы я еще непостроил коллизию и прочее прочее прочее
import flash.display.*;
//////
//////
//////
//////
//////
//////
var tank:Object = new Object();
tank.__go = 2;
tank.__rad = 180/Math.PI;
tank.__di = Math.sqrt(tank.__go, 1/3);
tank__controll = 0;
tank_zone_go = 2;
///
///
function tank_move():Void {
tank__controll = 0;
if (Key.isDown(Key.UP)) {
tank__controll = 1;
}
if (Key.isDown(Key.DOWN)) {
tank__controll = 2;
}
if (Key.isDown(Key.LEFT)) {
tank__controll = 3;
}
if (Key.isDown(Key.RIGHT)) {
tank__controll = 4;
}
if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) {
tank__controll = 5;
}
if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) {
tank__controll = 6;
}
if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) {
tank__controll = 7;
}
if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
tank__controll = 8;
}
//
if (tank__controll == 1) {
tank_baza._y -= tank.__go;
}
if (tank__controll == 2) {
tank_baza._y += tank.__go;
}
if (tank__controll == 3) {
tank_baza._x -= tank.__go;
}
if (tank__controll == 4) {
tank_baza._x += tank.__go;
}
if (tank__controll == 5) {
tank_baza._x -= tank.__di;
tank_baza._y -= tank.__di;
}
if (tank__controll == 6) {
tank_baza._x += tank.__di;
tank_baza._y -= tank.__di;
}
if (tank__controll == 7) {
tank_baza._x -= tank.__di;
tank_baza._y += tank.__di;
}
if (tank__controll == 8) {
tank_baza._x += tank.__di;
tank_baza._y += tank.__di;
}
//
tank_xm = Math.floor(_xmouse);
tank_ym = Math.floor(_ymouse);
q = tank_xm-tank_baza._x;
z = tank_ym-tank_baza._y;
tank_baza._rotation = 0-Math.floor(Math.atan2(q, z)*tank.__rad);
//
tank_zone._x = _xmouse;
tank_zone._y = _ymouse;
tank_zone._rotation += tank_zone_go;
//
updateAfterEvent();
//
}
setInterval(tank_move, 12);
//////
//////
//////
//////
//////
//////
var Go:Array = [1, 2, 3];
var attack:Array = [3, 5, 6];
var aliens:Object = new Object();
aliens.__go = 2;
aliens.__angle = Math.PI/180;
aliens.__number = 3;
aliens.__max = 20;
///
var w:Number = 0;
var i:Number = 0;
function onEnterFrame():Void {
while (i<aliens.__number) {
var alien:MovieClip = this.createEmptyMovieClip("alien"+i, i);
alien.attachMovie("alien", "alien", 1);
alien._x = 50;
alien._y = 10+i*50;
alien.__e = Go[random(Go.length)];
//
alien.onEnterFrame = mx.utils.Delegate.create(alien, onAlienEnterFrame);
i += 1;
}
w += 1;
if (w>=120) {
if (aliens.__number<=aliens.__max) {
aliens.__number = aliens.__number+attack[random(attack.length)];
}
w = 0;
}
}
function onAlienEnterFrame():Void {
alien__x = this._x-tank_baza._x;
alien__y = this._y-tank_baza._y;
alien__rotation = -Math.atan2(alien__x, alien__y)/aliens.__angle+90;
this._y = this._y-this.__e*Math.sin(alien__rotation*aliens.__angle);
this._x = this._x-this.__e*Math.cos(alien__rotation*aliens.__angle);
this._rotation = alien__rotation-90;
//if (this.hitTest(line._x, line._y, true)) {
//this.unloadMovie();
//
updateAfterEvent();
//
}
//////
//////
//////
//////
//////
//////
var mouse:Object = new Object();
mouse__controll = 0;
onMouseDown = function () {
tank_zone_go = 7;
mouse__controll = 1;
};
onMouseUp = function () {
tank_zone_go = 2;
mouse__controll = 0;
line.removeMovieClip();
};
///
///
var line_attack:Object = new Object();
line_attack.__height = 2;
function mouse_move():Void {
line_attack.__height = Math.sqrt(Math.pow(tank_baza._x-tank_zone._x, 2)+Math.pow(tank_baza._y-tank_zone._y, 2));
if (mouse__controll == 1) {
createEmptyMovieClip("line", aliens.__number+1);
line.lineStyle(0.25, 0x000000);
line.moveTo(0, 0);
line.lineTo(0, line_attack.__height);
endFill();
line._rotation = tank_baza._rotation;
line._x = tank_baza._x;
line._y = tank_baza._y;
}
//
updateAfterEvent();
//
}
setInterval(mouse_move, 12);
///
///
///
///
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|