![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2007
Сообщений: 545
|
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Silicium, возможен и такой уровень абстракции, надо подумать только, принесет он удобство или класс-портянку на 1000 строк с инициализацией всех этих элементалей. Ну и, конечно, зависит от задачи – "алхимия" понятие ой как растяжимое, алхимия Ведьмака например даже близко не похожа на алхимию TES IV:Oblivion, а уж как видит геймплей автор – узнать можно только у него. Здесь все определяет то, как именно должны взаимодействовать элементы и как из них будет создаваться составной эликсир/яд, и сколько уровней смешивания будет возможно (то есть, будет ли смешение микстур между собой, или только элементалей). Будет ли микстура принципиально другим объектом, нежели элементаль, то есть – не будет взаимодействовать с другими микстурами и элементалями, будет обладать свойствами типа "вызывает понижение слуха" а не абстрактными "холод" и "текучесть", как у элементалей. Совершенно логично, на мой взгляд, написать отдельные классы для элементов (пусть расширяющих суперкласс Элемент, почему нет), если дано всего 5-7 элементов, как субстанции в Ведьмаке. Если же их сотни, как ингредиентов в Обливион, то проще использовать один класс данных, естественно)).
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
ну да,мне кажется проще написать один класс ,и в нем определять элементы , по другому никак,если только не создавать сотни классов наследников)
|
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
Игра, которую привел в пример топикстартер, подразумевает собой простое смешение "элементов", заведомо ничем не ограниченное, без получения каких-либо определенных выполняемых ими действий. То-есть, например: совмещаем огонь и воду, получаем пар. пар можно совместить еще с чем-то и получить еще что-то, и т.д. Тоесть никакими особыми свойствами полученные элементы не обладают.
|
|
|||||
|
Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
|
Цитата:
вот например классический мод: http://alchemygame.ru/mods/11845/play/#.ToyLiJuXvTo элементов будет штук 70 не больше, впринципе я готов написать каждому отдельный класс)) так, наверное, будет легче описать какие элементы с какими взаимодействуют.. но как их, например, размножать по даблклику? класс второго элемента: package main.ele { import flash.display.*; import flash.events.*; public class ele2 extends MovieClip { public function ele2() { addEventListener(MouseEvent.MOUSE_DOWN , ele2Pressed); addEventListener(MouseEvent.MOUSE_UP , ele2MOUSE_UP); doubleClickEnabled = true; addEventListener(MouseEvent.DOUBLE_CLICK , ele2DOUBLE_CLICK ); } public function ele2Pressed(evt:MouseEvent):void { startDrag(); } public function ele2MOUSE_UP(evt:MouseEvent):void { stopDrag(); } public function ele2DC(evt:MouseEvent):void { var ele2:ele2 = new main.ele.ele2(); addChild(ele2); clip2.x=50; } } } Последний раз редактировалось A1R1NG; 05.10.2011 в 22:01. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вы же создаете новый экземпляр ele2 и добавляете его внутрь того ele2, на который нажали. Вы же не можете вынуть из холодильника банку так, чтобы компот остался на месте?
Зачем Вы вообще описываете драг и создание экземпляра класса в этом классе? в каждом из 70-и? Они разве по-разному будут драгаться?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
Угу. То то и оно. по мне нужен один класс, с полями id, picture, а так же с массивом id-шников элементов, с которыми взаимодействует и что в результате дает. как-то так. можно логику "скрещивания" получше продумать
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Добавлено через 7 минут Делаем таблицу – массив 70х70, в ячейках id того что получается при скрещивании. Когда клип потянули и отпустили, если есть таргет то спрашиваем его id и id клипа который отпустили. Лезем в массив и по этим id находим id ребеночка. Создаем новый ele, передавая ему этот id и ссылку на битмап (или клип) (это уже в другом одномерном массиве хранится), а родителей уничтожаем. Проверяем, есть ли уже клип с id этого новичка в Палитре, если нет то добавляем кнопку с его изображением в Палитру. Все вроде.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
Да, верно. Не подумал: массив N*N ведь тоже можно подгружать извне.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:49. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|