Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.01.2008, 20:40
MasteR'ok вне форума Посмотреть профиль Отправить личное сообщение для MasteR'ok Найти все сообщения от MasteR'ok
  № 11  
Ответить с цитированием
MasteR'ok

Регистрация: Dec 2007
Сообщений: 7
D12... убрать то можна, и вращаться он будет, но трудно таким образом управлять игроком (ты всё-таки попробуй удалить и потом поиграть))).


ну а что мне нужно? надо чтобы при выстреле проверялось не попал ли лёд из пушки на противника, и если да, то противник (это такие зелёные головы ползущие со всех сторон) исчезал (и если можно, то плавно, т.к. у меня не получилось сделать работоспособным этот момент=)). но все мои попытки привели к тому, что почему-то если при выстреле лёд попадал на противника, то он исчезал (но!), но потом все кто подходил к игроку тоже пропадали. не очень то весело..

на сим смею завершить мой рассказ для D12, искренне надеюсь что изъяснил всё понятно и "от А до Я"

Старый 08.01.2008, 23:22
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 12  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
MasteR'ok завтра постораюсь (очень, очень) выложить один пример, на основе которого и попробуем решить вашу потребность, годится ?
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 09.01.2008, 12:16
MasteR'ok вне форума Посмотреть профиль Отправить личное сообщение для MasteR'ok Найти все сообщения от MasteR'ok
  № 13  
Ответить с цитированием
MasteR'ok

Регистрация: Dec 2007
Сообщений: 7
D12, конечно годится) вот только надо по-быстрее, до 14 желательно ;-)

Старый 15.01.2008, 01:17
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 14  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Доброй ночи
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);
//////
//////
//////
//////
//////
//////
Вложения
Тип файла: rar 12D.rar (6.3 Кб, 47 просмотров)
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники


Последний раз редактировалось D12; 15.01.2008 в 01:20.
Старый 17.01.2008, 00:20
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 15  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Но тут еще много работы я еще непостроил коллизию и прочее прочее прочее



Код:
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);
///
///
///
///
Вложения
Тип файла: rar 12D11.rar (8.7 Кб, 54 просмотров)
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 17.01.2008, 13:56
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 16  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
D12, если не сложно, объясни эту строчку:
Код:
alien.onEnterFrame = mx.utils.Delegate.create(alien, onAlienEnterFrame);
Что такое mx.utils.Delegate.create???

Старый 18.01.2008, 00:12
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 17  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
mx.utils.Delegate - Выполнение функции в заданной области видимости с передачей параметров
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 18.01.2008, 01:34
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 18  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Как раз без передачи параметров.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.01.2008, 12:44
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 19  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Спасибо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:24.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.