Показать сообщение отдельно
Старый 13.02.2017, 01:04
ABEnergy вне форума Посмотреть профиль Отправить личное сообщение для ABEnergy Найти все сообщения от ABEnergy
  № 1  
Ответить с цитированием
ABEnergy

Регистрация: Feb 2017
Сообщений: 30
Attention Проблема с определением пересечения обекта

Ето снова я. Незнаю где писать определение с обектами, тоесть где myPatron пересекаеться c mina[i](тоесть с миной). Весь код програми представлен ниже, также напишите если где-то криво написа что-то, просто моя перая програма на AS, набираюсь опита.(Сам пробовал писать пересичения с обектом, но викидает ошибки все время, решил профи спросить.)



Код:
Код AS3:
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
 
var fire = false;
stop();
//Движение фона(Етот код можно не смотреть)
var myCosmo:MovieClip = new cosmo();
addChild(myCosmo);
myCosmo.x = 80;myCosmo.y = 200;
var TimeOfLastFire = getTimer();
stage.addEventListener(Event.ENTER_FRAME, go);
 
function go(e:Event){
	fon1.x += 4;fon2.x += 4;
	fon3.x += 6;fon4.x += 6;
	if(fon1.x >= 760){
		fon1.x = -200;
	}
	if(fon2.x >= 760){
		fon2.x = -200;
	}	
	if(fon3.x >= 760){
		fon3.x = -200;
	}
	if(fon4.x >= 760){
		fon4.x = -200;
	}	
}
 
////Клавиши
stage.addEventListener(KeyboardEvent.KEY_DOWN, pres);
function pres(e:KeyboardEvent){
	if(e.keyCode == 38){
		myCosmo.y -= 5;	
	}
	if(e.keyCode == 40){	
		myCosmo.y += 5;
	}
 
	//Создание патрона
	if(e.keyCode == 32){
		if(TimeOfLastFire+300<getTimer()){
			TimeOfLastFire = getTimer();
			var myPatron:MovieClip = new patron();
			addChild(myPatron);
			myPatron.x = myCosmo.x ;
			myPatron.y = myCosmo.y;
			stage.addEventListener(Event.ENTER_FRAME, fire);
			function fire(e:Event){
				myPatron.x += 10;
			}
		}
	}
}
 
 
//Создание мин
var timer:Timer = new Timer(5000, 0);
timer.addEventListener(TimerEvent.TIMER, spawn);
timer.start();
function spawn(e:TimerEvent){
	for(var i = 0;i<1;i++){
		var mina = [3];
		var coord_x = Math.random()*400+200;
		var coord_y = Math.random()*400;
		mina[i] = new boeprypas();
		addChild(mina[i]);
		mina[i].x = coord_x;mina[i].y = coord_y;
		stage.addEventListener(Event.ENTER_FRAME, polet);
		function polet(e:Event){
			for(var i = 0;i<1;i++){
				var xmov = (myCosmo.x - mina[i].x)/500;
				var ymov = (myCosmo.y - mina[i].y)/500;
				var angle = Math.atan2(xmov, ymov)*180/Math.PI;
				mina[i].x += xmov;
				mina[i].y += ymov;
				mina[i].rotation += 3;
			}
		}
	}
}


Последний раз редактировалось Wolsh; 13.02.2017 в 02:48. Причина: теги AS3