Пятница, 29 Марта 2024, 13:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Помощь в программировании игры (Помощь в программировании игры)
Помощь в программировании игры
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
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Помощь в программировании игры (Помощь в программировании игры)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг