Представляете монопольную доску во флеше? - PullRequest
0 голосов
/ 01 августа 2010

Я новичок во Flash (и на самом деле в программировании игр), но хочу немного узнать об этом.Мой общий учебный проект заключается в создании монопольного клона во Flash.К сожалению, я изо всех сил пытаюсь преодолеть даже свое первое препятствие - как создать доску графически, и как потом справиться с этим в коде.До сих пор я думаю разбить доску на плитки разных размеров (обычные свойства, угол 4 и большой для средней секции), а затем как-то расположить их все в правильныерасполагайте относительно друг друга и сохраняйте правильное положение, пока фигуры (и, следовательно, изображение с камеры) перемещаются по доске.(И, надеюсь, когда-нибудь у вас появится возможность масштабирования ...)

Это хороший подход или есть лучший?Кто-нибудь знает, где я могу найти учебник, посвященный созданию настольных игр во Flash (на самом деле, какой бы то ни было, не должен быть монополией, а просто игрой, в которой есть доска, по которой движутся токены - и желательно, которая также должна панорамироваться).

Кроме того, есть ли способ иметь динамически окрашенный прямоугольник во Flash MovieClip (например, у вас могут быть динамические текстовые поля)?Я спрашиваю, потому что было бы полезно, если бы был, поскольку я мог бы генерировать каждый тайл свойства только с одним MovieClip, который принял имя, значение и цвет ...

Ответы [ 4 ]

1 голос
/ 02 августа 2010

Другим подходом к вашему вопросу может быть изучение объектно-ориентированного программирования.Это может не решить ваше графическое представление доски, но это определенно поможет вам структурировать игру.

С помощью ООП вы можете определить класс «Свойство» с набором свойств, таких как streetName, цвет, цена и т. Д. Я давно не играл в Monopoly, но вы можете получить общее представление,т.е. создать базовый объект и сделать его конкретным, установив свойства объекта.Ваш вопрос о цветном прямоугольнике может на самом деле относиться к другим свойствам, это отличный способ избежать ненужного повторения.

Вообще говоря, ООП имеет тенденцию подражать реальным жизненным ситуациям, так что вы действительно можете посмотреть на свою игру «Монополия», разбить ее наего различные части, найти общие свойства и т.д ... Я не буду начинать урок здесь :) Я был бы довольно плох в этом, но есть много ресурсов там.Ищите ООП, Шаблоны проектирования и Actionscript3.

После небольшого исследования вы можете обнаружить, что ваш вопрос о том, как работать с графикой, может и не быть такой проблемой.

1 голос
/ 02 августа 2010

все, что вы здесь описываете, вы можете сделать довольно легко, как только разберетесь со спрайтами компонентов. лично я бы сделал один спрайт, который будет содержать все «фишки» в игре, это позволит вам «масштабировать» игровое поле, сохраняя все фишки относительно:

если вы создадите этот родительский элемент для использования методов addTile () и getTile (index: int): Sprite, то вы можете легко помещать плитки и извлекать их из массива, так что Go будет с индексом 0, старая дорога Кента на 1 и т. д. таким образом, вы можете использовать одно целочисленное значение для определения позиции фигуры игрока, как вы можете затем использовать getTile (int) .x и т. д.

Положение самих плиток можно определить относительно других. если у вас есть плитка шириной 20px и высотой 40px, вы можете расположить плитку как x = index * 20 для первой строки, после начальных 11 вам нужно повернуть их все, а затем использовать вместо них индекс y (rotation = 90; x = 11*20; y = (index-11)*20) это будет зависеть именно от вашей исходной точки вашего Sprite.

для рисования цветных рамок вы используете графику Sprite, есть много точек на рисовании API, но вот базовая рамка 10x10px:

var drawing:Sprite = new Sprite();
drawing.graphics.beginFill(0x0000FF);
drawing.graphics.drawRect(0, 0, 10, 10);
drawing.graphics.endFill();
0 голосов
/ 01 августа 2010

Возможно, вы захотите начать с более простого проекта, просто чтобы изучить некоторые основы, возможно, небольшую игру, в которой игрок должен перемещать прямоугольник с одной стороны экрана на другую, используя клавиши со стрелками или мышь, по какой счет увеличивается или что-то. Это поможет вам, среди прочего, научить вас, как работает система координат.

Чтобы рисовать вещи с помощью кода, вы можете создать новый объект Sprite или MovieClip и использовать его graphics свойство для рисования примитивных фигур (прямоугольников и т. Д.) Во время выполнения.

0 голосов
/ 01 августа 2010

Ваши вопросы слишком общие. Я уверен, что вы не хотите, чтобы мы провели вас через весь ваш проект, верно? Теперь, чтобы получить некоторый опыт, я предлагаю вам просто пройти несколько учебных пособий по флэш-играм. Есть много таких, я погуглил 2-3 секунды и нашел это:

http://pelfusion.com/tutorials/35-flash-game-development-tutorials-fla-files/

Я уверен, что вы разочарованы этим ответом, но это первый шаг к решению ваших собственных проблем. В Интернете уже более чем достаточно общих учебных пособий по игре. Если у вас есть конкретные проблемы, мы можем вам помочь.

Я предполагаю, что с динамически окрашенными прямоугольниками вы имеете в виду просто изменение цвета во время выполнения. Ну, вы просто даете прямоугольнику имя и меняете его свойство цвета в коде. Примерно так: rectangle.Color = Something.

...