Помощь в программировании игры
| |
cepejilka | Дата: Понедельник, 17 Февраля 2014, 14:42 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| В общем помогите с кодом! нужно чтобы мяч при нажатии на кнопку "↑" (вверх) шарик прыгал вверх на 4 с половиной клеточки! при нажатии "←" (влево) ехал назад, при нажатии "→"(в право) ехал вперед. но при этом не взлетал в клеточки! и не падал под нижние клеточки! зарание примного благодарен! вот ссылки на сырцы и на флешку
сырцы : http://yadi.sk/d/v2jiqOEkJ3axm
flash : http://yadi.sk/d/h7mB-RV2J3b6k
|
|
| |
atoris | Дата: Понедельник, 17 Февраля 2014, 15:27 | Сообщение # 2 |
участник
Сейчас нет на сайте
| не открывает в cs5.5, вот посмотри скрипт, туториал и с физ движком бокс2д
Вступайте в групу
|
|
| |
cepejilka | Дата: Вторник, 18 Февраля 2014, 11:27 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Спасибо за ссылки)помогут!!! вот посмотрите 1 лвл нарисовал!) сырок: http://yadi.sk/d/LfO3V0TUJ6nB3 получается норм)хотя и первая серьёзная работа
|
|
| |
atoris | Дата: Среда, 19 Февраля 2014, 21:01 | Сообщение # 4 |
участник
Сейчас нет на сайте
| вполне не плохо, вот еще одна интересная статья которая в дальнейшем может пригодится скроллинг карты
Вступайте в групу
|
|
| |
cepejilka | Дата: Четверг, 20 Февраля 2014, 11:54 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Цитата atoris ( ) вполне не плохо, вот еще одна интересная статья которая в дальнейшем может пригодится скроллинг карты
Очень большое спасибо )С каждым вашим постом я делаю игру удачнее )жду еще каких либо постов,подсказок как лучше будет ээто всё реализовать!т.к. язык AS я еще знаю на начальном уровне!
|
|
| |
Эргалон | Дата: Воскресенье, 23 Февраля 2014, 02:51 | Сообщение # 6 |
Вездесущий
Сейчас нет на сайте
| cepejilka, Создавай объекты программно.
Кубариум Rise of the dark lords
|
|
| |
cepejilka | Дата: Воскресенье, 23 Февраля 2014, 18:31 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Эргалон, тоесть?можно карту не рисовать а программировать?
|
|
| |
Эргалон | Дата: Воскресенье, 23 Февраля 2014, 18:34 | Сообщение # 8 |
Вездесущий
Сейчас нет на сайте
| cepejilka, Да. Код var kubik:kubiks;
kubik = new kubiks; kubik.x = 500; kubik.y = 500; addChild(kubik); Создается объект в координатах x - 500 и y - 500. Когда объект больше не нужен(допустим уровень пройден). Удаляешь этот объект removeChild(kubik); И создаешь объекты нового уровня. Мне как то сказали, что кидать на сцену объекты(не программно) плохой знак. Поэтому чтобы не переучиваться, создавай всё, что у тебя есть в игре программно.
Кубариум Rise of the dark lords
Сообщение отредактировал Эргалон - Воскресенье, 23 Февраля 2014, 18:36 |
|
| |
cepejilka | Дата: Воскресенье, 23 Февраля 2014, 18:38 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Эргалон, тоесть допустим мне нужен 1 кубик в координатах х= 80 у= 80 , а еще один в координатах на 20 больше это что мне для каждого кубика нужно писать координаты Код kubik.x = 500; kubik.y = 500; вручную?
|
|
| |
Эргалон | Дата: Воскресенье, 23 Февраля 2014, 18:53 | Сообщение # 10 |
Вездесущий
Сейчас нет на сайте
| Для этого создаешь массив - матрицу, для создания уровня var _array:Array; var size:uint = 50; Код public var map:Array = [ [1,1,1,1,1,1,1,1,1,1,1,1], [1,0,0,2,1,1,1,1,1,2,0,1], [1,0,0,0,1,1,1,1,1,0,0,1], [1,0,2,0,0,1,1,1,1,0,1,1], [1,0,1,0,0,0,1,2,0,0,0,0], [1,0,0,1,0,0,1,0,0,0,0,0], [1,1,1,1,0,0,1,0,0,1,1,1], [1,0,0,0,0,0,0,0,0,0,0,1], [1,1,1,1,1,1,1,1,1,1,1,1], ]; Такого плана. Там где 1 и 2 - это объекты, там где 0 это пустое место(проходимость). Вставляешь так
Код function createmaps() { for (var i:uint=0; i<map.length; i++) { for (var j:uint=0; j<map[i].length; j++) { if (map[i][j] > 0) { var obj:village = new village; obj.x = j*size; obj.y = i*size; obj.gotoAndStop(map[i][j]) addChild(obj); } } } } Создаешь мувиклип, в первом кадре создаешь один объект, во втором кадре создаешь второй объект. И при компиляции, создается игровой уровень, объекты будут раскинуты по всей сцене, так, как ты это указал в функции. Способов есть много, как создать уровень. Но привыкай делать всё в ручную и лучше почитай книгу, хотя бы того же Мука, дабы разобраться что такое классы, пакеты, массивы, объекты, переменные и т.п. Вот тебе пример такого создания ПРИМЕР
Кубариум Rise of the dark lords
Сообщение отредактировал Эргалон - Воскресенье, 23 Февраля 2014, 19:06 |
|
| |
cepejilka | Дата: Воскресенье, 23 Февраля 2014, 20:10 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Эргалон, Спасибо за совет,но думаю чем прописывать массивы проше пририсовать объекты?ну хотя буду тренироваться и с массивами показалось очень перспективным методом) Добавлено (23.02.2014, 20:10) ---------------------------------------------
Код onClipEvent (load) { var ground:MovieClip = _root.ground; var grav:Number = 0; var gravity:Number = 2; var speed:Number = 7; var maxJump:Number = -12; var touchingGround:Boolean = false; } onClipEvent (enterFrame) { _y += grav; grav += gravity; while (ground.hitTest(_x, _y, true)) { _y -= gravity; grav = 0; } if (ground.hitTest(_x, _y+5, true)) { touchingGround = true; } else { touchingGround = false; } if (Key.isDown(Key.RIGHT)) { _x += speed; } if (Key.isDown(Key.LEFT)) { _x -= speed; } if (Key.isDown(Key.UP) && touchingGround) { grav = maxJump; } if (ground.hitTest(_x+(_width/2), _y-(_height/2), true)) { _x -= speed; } if (ground.hitTest(_x-(_width/2), _y-(_height/2), true)) { _x += speed; } if (ground.hitTest(_x, _y-(height), true)) { grav = 3; } } помог этот код)шарик нормально заработал!!!!
|
|
| |
mistervektor | Дата: Воскресенье, 23 Февраля 2014, 21:03 | Сообщение # 12 |
почетный гость
Сейчас нет на сайте
| тебе понравится. да и вообще по ас3 огромный ресурс.
|
|
| |
cepejilka | Дата: Воскресенье, 23 Февраля 2014, 22:15 | Сообщение # 13 |
был не раз
Сейчас нет на сайте
| mistervektor, действительно приложение интересное,есть и скроллинг,и построение карты спасибо за ссыль
|
|
| |
dracoola100 | Дата: Вторник, 25 Февраля 2014, 08:12 | Сообщение # 14 |
уже был
Сейчас нет на сайте
| всем привет.Народ помогите.Нужна для школы прогамка, там для проведения конкурса.Будет конкурс, в нем 4 школы учавствуют. Будет несколько конкурсов, после победв нем на изображение школы нажимаешь и оно изменяется. У всех будет картинка фартука, при победе и нажатии на него к нему должна добавлять один элемент. Чем больше побед тем красивее получится фартук. Может кто склепает по быстрому или скажет где это проще сделать.
|
|
| |
cepejilka | Дата: Вторник, 25 Февраля 2014, 08:36 | Сообщение # 15 |
был не раз
Сейчас нет на сайте
| dracoola100, Привет!пару битмапов и гото энд плей боьше практически ничего не нужно
|
|
| |
ApuoH | Дата: Понедельник, 17 Марта 2014, 03:51 | Сообщение # 16 |
почетный гость
Сейчас нет на сайте
| я так карту делал, где platform - кирпичик стены, который поверх рисунка.
// генерируем уровень из объекта platform var level:Array = new Array();
for (i=0; i<numChildren; i++) { if (getChildAt(i) is platform) { level.push(getChildAt(i).getRect(this)); } }
так как в случае генерации карты массивом 0,1,1,0 и таких данных докучи будет 700 на 600 клеток делать это много.
Добавлено (17.03.2014, 03:51) --------------------------------------------- и еще дополню в сообщении насчет карты кое-что отсутствует
Код var size:uint = 18; var map:Array = [ [1,1,1,1,1,1,1,1,1,1,1,1], [1,0,0,2,1,1,1,1,1,2,0,1], [1,0,0,0,1,1,1,1,1,0,0,1], [1,0,2,0,0,1,1,1,1,0,1,1], [1,0,1,0,0,0,1,2,0,0,0,0], [1,0,0,1,0,0,1,0,0,0,0,0], [1,1,1,1,0,0,1,0,0,1,1,1], [1,0,0,0,0,0,0,0,0,0,0,1], [1,1,1,1,1,1,1,1,1,1,1,1] ];
addEventListener(Event.ENTER_FRAME, createmaps); function createmaps(e:Event) { for (var i:uint=0; i<map.length; i++) { for (var j:uint=0; j<map[i].length; j++) { if (map[i][j] > 0) { var obj:walls = new walls ; obj.x = j * size; obj.y = i * size; obj.gotoAndStop(map[i][j]); addChild(obj); } } } }
Сообщение отредактировал ApuoH - Понедельник, 17 Марта 2014, 03:52 |
|
| |
|