Меню сайта
Наш опрос
Нужен ли раздел видео на сайте?
Всего ответов: 45
Статистика
Форма входа
Мини-чат
200
Поиск
Друзья сайта
  • Оффициальный сайт Love2D
  • Пожертвовать
    Love 2D

    Уроки по Созданию игр и разработке приложений с Love2D

    Главная » Статьи » Уроки для Новичков

    Урок 2 : Перемещение спрайта
    И так разобрались вы значит как спрайты рисуются . Если от обилия команд для такой простой операции ваш мозг ещё не совсем того , ну и движок вы не бросили , то начинаем . 
     
    В данном уроке я рассмотрю , то  как реализовать движение спрайта , а в дальнейшем дать ему полноценные свойства объекта . 
     
    На будущее скажу , что создавать lua файлы можно вплоть до бесконечности . Поэтому мы с вами будем отделять Main и Player . Main - это основной компонент игры , а Player.lua мы с вами напишем код для игрока . 
     
    1) Забиваем спрайт player.png 
    2) Создаём Player.Lua и Main.lua  
    3) Начинаем колдовать с игроком : 
     
    Пишем в Player :  
     
    1. function love.load()--Всем загрузку любви посоны...
    2.   player = love.graphics.newImage("player.png")-- Тут мы задали , что команда  
    3. player = загрузке спрайта из player.png
    4.   x =50--Координата по X
    5.   y =50--Координата по Y
    6.   speed =100--Скорость
    7. end
    8. function love.update(dt)-- Апдатируем
    9.   if love.keyboard.isDown("right")then-- Если жмёшь вправо то
    10.      x = x + (speed * dt)-- Координата X = Начальная точка +  
    11. (Скорость умноженная на Кадр) да да звучит тупо
    12.   elseif love.keyboard.isDown("left")then--Тоже самое но теперь на лево  
    13.      x = x - (speed * dt)-- А тут вычитаем из X
    14.   end
    15.   if love.keyboard.isDown("down")then-- Команда для "Вниз"
    16.      y = y + (speed * dt)
    17.   elseif love.keyboard.isDown("up")then--Команда для " ВВерх"
    18.      y = y - (speed * dt)
    19.   end
    20. end
    21. function love.draw()-- А теперь рисуем , что выходит
    22.   love.graphics.draw(player, x, y)-- Рисуем спрайт
    23. end


    А в Main вбиваем  

     
    1.  require"player";  
    2.  
    3.  
    4.  
    5. player.load()

     Всё тут мы с вами подгрузили нашего игрока в весь проект .  Команда Require нужна для загрузки сторонних скриптов . А командой player.load мы грузим самого игрока.
    P.S Это первая версия статьи , она ещё будет дополняться и развиваться . 
    Если есть ошибки пишите . 
    С вами был Musicfuns ! При копировании материалов с сайта указывайте ссылку на наш сайт Love2d.3dn.ru !
    Пожертвовать
    Категория: Уроки для Новичков | Добавил: Musicfuns (16.12.2012)
    Просмотров: 2807 | Комментарии: 3 | Теги: Love 2d уроки, Love2d, Lua | Рейтинг: 5.0/2
    Всего комментариев: 3
    3 Voron  
    0
    Попробуй зделать таким способом:

    в main.lua:

    require "player"
    state = player
    function love.load()
        if state.load then
            state.load()
        end
    end
    function love.update(dt)
        if state.update then
            state.update(dt)
        end
    end
    function love.draw()
        if state.draw() then
            state.draw()
        end
    end

    в player.lua:

    player = {}
    function player.load()
        pl = love.graphics.newImage("player.jpg")
        x = 50
        y = 50
        speed = 100
    end
    function player.update(dt)
        if love.keyboard.isDown("right") then
            x = x + (speed*dt)
        elseif love.keyboard.isDown("left") then
            x = x - (speed*dt)
        end
        if love.keyboard.isDown("down") then
            y = y + (speed*dt)
        elseif love.keyboard.isDown("up") then
            y = y - (speed*dt)
        end
    end
    function player.draw()
        love.graphics.draw(pl, x, y)
    end

    2 skorp337  
    1
    player = {}

    function player.load()

    function love.load()--Всем загрузку любви посоны...
    player.img = love.graphics.newImage("player.png")-- Тут мы задали , что команда  player.img = загрузке спрайта из player.png
    x =50--Координата по X
    y =50--Координата по Y
    speed =100--Скорость
    end
    function love.update(dt)-- Апдатируем
    if love.keyboard.isDown("right")then-- Если жмёшь вправо то
    x = x + (speed * dt)-- Координата X = Начальная точка +  (Скорость умноженная на Кадр) да да звучит тупо
    elseif love.keyboard.isDown("left")then--Тоже самое но теперь на лево
    x = x - (speed * dt)-- А тут вычитаем из X
    end
    if love.keyboard.isDown("down")then-- Команда для "Вниз"
    y = y + (speed * dt)
    elseif love.keyboard.isDown("up")then--Команда для " ВВерх"
    y = y - (speed * dt)
    end
    end
    function love.draw()-- А теперь рисуем , что выходит
    love.graphics.draw(player.img, x, y)-- Рисуем спрайт
    end
    end

  • 1 NONAM  
    1
    Привет! Все понятно в твоих уроках, но вот наткнулся на первую заковырку, что у меня не так?
    http://s019.radikal.ru/i627/1302/b0/2144e005b2ed.png

    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Смотри там все для ucoz очень много полезной инфы для ucoz.
    Вот все о роке - социальная сеть для рокеров России
    Также есть сайт, где можно посмотреть даты выхода игр без регистрации.
    Также можете посетить официальный сайт Леонова и .
    популярный сайт новинки игр на pc 2013 с обзорами авто.
    Уделите также внимание рок сайт , лучшие рок песни