![]() |
|
||||||||||
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 83
|
Я вот думаю сделать так. Создать плитку ( кубик ) из этих плиток выстраивать фигуры. И потом с этими же фигурами делать манипуляции. Хотел с Вами посоветоваться. Как лучше эти плитки обебенять в фигуры. 1) Закинуть эти плитки в класс что бы он их соэдинял в фигуры а потом из этого класса сделать обекты. И уже в игре управлять обектами. Или, плитки как то закинуть в контейнер а потом уже контейнером управлять. 2) Как зделать так что бы когда фигура коснется пола или другой плитки она останавливалать, тоесть реагировала на сопрекосновения. 3) И еще как сказать программе удалять строку с горизнтальными плитками?
Может ктото уже уроки видел, которые решалибы эти задачи? |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 1,764
|
ну ты пример который тебе привели смотрел? смотрел как там все организовано?
__________________
а за окном атлантический океан! |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 83
|
( ну ты пример который тебе привели смотрел? смотрел как там все организовано? )
Смотрел, ток неочень понемаю Мне больше самому интересно дойти до решения, чем копировать это решение у других |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 1,764
|
начни тогда со своего решения, что не получается, давай куски кода проблемные, будем тут соображать что к чему
__________________
а за окном атлантический океан! |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 67
|
Цитата:
Цитата:
|
|
|||||
|
Я когда то учился программированию и писал Тетрис на as3, реализовал фигуры плитками по 4-ре. По таймеру масив с плитками двигаешь вниз.
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 83
|
Привет. Вот начал коди этот тетрис. В класе Box рисуется плитка. Класс ShapeOfBox Соберает из плиток фигуру ( пока ток две ) и случайно выбитает одну из них. Класс Main берет фигуру из ShapeOfBox. И тут програмист пытается кинуть в ету фигуру таймер и событие клавиатуры. Когда созданный обект доходит до низу таймер удаляется а обект передается в масив и заново запускается функция которая создает новый обект. Ну в функции Main неочень получается сделать то что хочю( Выставляю код. Сильно не смейтесь
Добавлено через 31 секунду package { import flash.display.Sprite; import flash.events.Event; import flash.events.*; import flash.events.TimerEvent; import flash.utils.*; public class Main extends Sprite { var thisObec; var ArrayShape:Array = new Array; //Масив в котором хранятся созданые фигуры в shapeDow public function Main():void { shapeDow(); } function shapeDow ():void { var oneShape:ShapeOfBox = new ShapeOfBox; var timer:Timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, runShape); timer.start(); function runShape(e:TimerEvent):void { thisObec = oneShape; addChild(thisObec); thisObec.y += 40; stage.addEventListener(KeyboardEvent.KEY_DOWN, kD); function kD(e:KeyboardEvent):void { thisObec.x+=5; } if (thisObec.y > 370) { thisObec = NaN; timer.stop(); arey(oneShape); shapeDow(); // созд. новую фигуру } } } function arey (oneShape):void { ArrayShape.push(oneShape); //помещает фигуру после ее остановки в масив } } } Добавлено через 2 минуты package { import flash.display.Shader; import flash.display.Shape; import flash.display.Sprite; public class Box extends Sprite { public function Box() //создает бокс { var oneBox:Shape = new Shape(); oneBox.graphics.lineStyle(1); oneBox.graphics.lineTo(19, 0); oneBox.graphics.lineTo(19, 19); oneBox.graphics.lineTo(0, 19); oneBox.graphics.lineTo(0, 0); addChild(oneBox); } } } Добавлено через 3 минуты package { import flash.display.Sprite; import flash.events.Event; import flash.events.*; import flash.events.TimerEvent; import flash.utils.*; public class ShapeOfBox extends Sprite { var shapeShape; public function ShapeOfBox() { shapeVuboe(); } function shapeVuboe():Object //выбирает одну фигуру из списка и возвращает значение фигуры в конструктор { var MathR = Math.floor(Math.random() * 2); //MathR генерирует от 0 до 1 if (MathR == 0) { shapeShape = shapeTriangl(); } else { shapeShape = shapeBox(); } return shapeShape; } private function shapeTriangl ():void //фигура один { var oneBox:Box = new Box; //создает новые обеты из Box и дает им координаты var twoBox:Box = new Box; var sreeBox:Box = new Box; var foBox:Box = new Box; oneBox.x = 20; twoBox.y = 20; sreeBox.y = 20; sreeBox.x = 40; foBox.y = 20; foBox.x = 20; addChild(oneBox); addChild(twoBox); addChild(sreeBox); addChild(foBox); } private function shapeBox ():void //фигура два { var oneBox:Box = new Box; var twoBox:Box = new Box; var sreeBox:Box = new Box; var foBox:Box = new Box; oneBox.x = 0; twoBox.y = 20; sreeBox.y = 0; sreeBox.x = 20; foBox.y = 20; foBox.x = 20; addChild(oneBox); addChild(twoBox); addChild(sreeBox); addChild(foBox); } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|