Показать сообщение отдельно
Старый 18.01.2009, 02:13
ZlobaZl вне форума Посмотреть профиль Отправить личное сообщение для ZlobaZl Найти все сообщения от ZlobaZl
  № 167  
Ответить с цитированием
ZlobaZl

Регистрация: Jan 2009
Сообщений: 41
Ну лана небуду пока тревожить)))

Добавлено через 22 часа 27 минут
Вот ещё вопросик.

Иду по коду предложенной игры и сотавляю свой.

Код AS3:
package main{
	import flash.display.MovieClip;
	import flash.display.DisplayObject;
	import flash.events.Event;
	import main.*;
 
	dynamic public class GameAs3Class_Robots_World extends MovieClip {;
	public var all_moving:Array;
	public function GameAs3Class_Robots_World() {
		all_moving = new Array();
		addEventListener(Event.ENTER_FRAME, Update);
	}
	public function DropSeveralAsteroids():void {
		var cnt, i, Type1, Type2, Type3 :Number;
		var new_BFR:GameAs3Class_Robots_Soldat;
 
		cnt=10;
		for (i=1; i<=cnt; i++) {
			Type1=Math.floor(Math.random()*2)+1;
			Type2=Math.floor(Math.random()*3)+1;
			Type3=Math.floor(Math.random()*2)+1;
			new_BFR = new GameAs3Class_Robots_Soldat();
			addChild(new_BFR);
			all_moving.push(new_BFR);
			new_BFR.drop(1)
		}
	}
	public function Update(e : Event):void {
		DropSeveralAsteroids()
		this.x=super.stage.mouseX-300;
		this.y=super.stage.mouseY-300;
 
		for each (var obj:GameAs3Class_Robots_Soldat in all_moving) {
			obj.move()
		}
	}
}
}
Это мой основной класс.

Код AS3:
package main{
	import flash.display.MovieClip;
	import flash.display.DisplayObject;
	import flash.events.Event;
	import main.*;
 
	dynamic public class GameAs3Class_Robots_Soldat extends MovieClip{;
 
	public function GameAs3Class_Robots_Soldat() {
	}
	public function move():void {
		x += 10;
		y += 10;
 
	}
	public function drop(Type1:Number):void {
		if(Type1==1){
			x=20;
			y=300;
		}
		if(Type1==2){
			x=300;
			y=20;
		}
	}
}
}
это мой второй класс.


Моеё целью должно быть чтобы в классе "GameAs3Class_Robots_World" вызывались 2 функции move() и drop(Type1:Number). Но при их вызове вылезает данная ошибка:
TypeError: Error #1006: drop is not a function.
at main::GameAs3Class_Robots_World/DropSeveralAsteroids()
at main::GameAs3Class_Robots_World/Update()

Что помойму означает что нет данной функции в DropSeveralAsteroids() нет и в Update(). Хотя в примере именно так все реализованно. Для функции мува таже самая ошибка.




2) Второй вопрос.
Когда нам надо писать что "GameAs3Class_Robots_World extends MovieClip", а когда" GameAs3Class_Robots_World extends GameAs3Class_Robots_World_02" Как я понял это и есть наследование (вопрос "3)" Это наследование или что???) либо от мувиклипов на сцене либо от кода, потипу продолжения чтоли? или если я непонял что это такое то можете (кто нибудь) объяснить что да как?

4) Как я еще понял мы записываем all_moving = new Array(); поочередно не просто какую то переменную, а целый "блок данных" включающий себя направление на выполнение каких либо функций а потом просто перебирай все по очереди в результате чего "блок данных" у нас начинает выполняться для каждого объекта (вопрос "5)" это бред как я понял либо это реально так?). В результате чего нам ненада индексировать никакие объекты по 100 раз. Вот возникает вопрос (все ещё четвертый) а чето я непонял как колизия (столкновение) проверяется исходя из двух объектов??? Как надо вызывать их???


зы не в тему "Добавлено через 22 часа 27 минут" порадовало)


Последний раз редактировалось ZlobaZl; 19.01.2009 в 00:42.