Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Шестиугольная сетка. Построение линий (http://www.flasher.ru/forum/showthread.php?t=82200)

E.Q. 06.07.2006 21:42

Шестиугольная сетка. Построение линий
 
Допустим есть сетка из шестиугольников: каждая линия - клип с двумя кадрами, первый пустой.
Пользователю дается выбор, какую грань какого шестиугольника построить первой.
Затем нужно сделать так, чтобы пользователь мог строить последующие грани (кликом) только от уже существующих.

Пример:
[IMG]http://img421.**************/img421/6762/hexes9su.jpg[/IMG]
Синие лини уже построены, следующие линии которые можно построить зеленые.

Вобще можно писать код каждому клипу, с указанием его соседей, но это придется делать очень долго, т.к. сетка довольно большая.
Может можно как небудь прописать это циклом?

artcraft 06.07.2006 22:33

Вложений: 1
моя идея такова:
красная сетка - 3х мерный массив
каждая ячейка этой сетки грань шестиуголника

Ромастый 07.07.2006 11:53

3х мерный - это слишком сложно, к тому же не нужно.
Гексагональная решетка - это тот же 2-мерный массив, только со смещением по x или y на пол-периода.

На уровне скриптов можно организовать 20-ю способами не особо заморачиваясь

artcraft 07.07.2006 13:12

да я тут еще немного подумал
действительно можно обойтись 2х мерным массивом
и даже без смещений

Ромастый 07.07.2006 13:23

Без смещений не обойтись.
Если не на этапе формирования, то на этапе обсчета.
Например каждый элемент будет контактриовать напрямую не только с ближайшим по вертикали (вверх и вниз), но и с еще двумя по "диагонали" (как если бы это была обычная сетка - например вверх-влево и вниз вправо).

Это принципиальное отличие гексагональной системы - отсутсвие "угловых" связей и наличие двух лишних соседей.

artcraft 07.07.2006 13:26

Вложений: 1
вроде того

Ромастый 07.07.2006 13:29

Цитата:

Сообщение от artcraft
да я тут еще немного подумал
действительно можно обойтись 2х мерным массивом
и даже без смещений

Хотя может под "смещением" мы разное имеем ввиду. Тогда поясни.
Просто пришлось как-то работать с "гексами", проще всего оказалось просто ввести систему взаимоотношений соседей, добавляя двух диагональных. Не на пол-периода, тут ошибси. На период.

artcraft 07.07.2006 13:29

мы про одно говорим, только я нарисовал диагональ не вверх-влево и вниз-вправо, а вверх-вправо и вниз-влево

Ромастый 07.07.2006 13:31

Я о том же. Куда смещение направлено - эт неважно.
Просто учитывать все равно придется :)

artcraft 07.07.2006 13:34

прсто я назвал бы это не смещением, а диагонильной связью


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

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