1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/delun-zhu-cocos2d-x-qt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
faq.md 1.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 10:04 eb90d23

Вопрос: Как объявлять классы?

Ответ: Используйте class(), в framework/shared/functions.lua

local UserBase = class("UserBase")

 конструктор
function UserBase:ctor(username)
    print("UserBase:ctor()")
    self.username = username
end

function UserBase:sayHello()
    print(string.format("%s say: Hello", self.username))
end

----------------------------------------

 Player унаследован от UserBase
local Player = class("Player", UserBase)

 конструктор
function Player:ctor(username, level)
     вызов метода суперкласса
    Player.super.ctor(self, username)
    print("Player:ctor()")

    self.level = level
end

function Player:play()
    print(string.format("%s play level %d", self.username, self.level))
end

----------------------------------------

local player1 = Player.new("dualface", 99)
player1:sayHello()
player1:play()

 вывод:

 UserBase:ctor()
 Player:ctor()
 dualface say: Hello
 dualface play level 99

**Вопрос: Как объявить классы, унаследованные от объекта C++?**

Ответ: Верните объект C++ в class(), в framework/shared/functions.lua

``` lua

local MyNode = class("MyNode", function()
     создать объект C++
    return display.newNode()
end)

function MyNode:moveTo(x, y)
    self:runAction(CCMoveTo:create(CCPoint(x, y)))
end

----------------------------------------

 шаг 1: создайте новый объект CCNode (C++)
 шаг 2: скопируйте методы MyNode в объект
 шаг 3: вызовите MyNode.ctor(), если существует
local node = MyNode.new()
node:moveTo(100, 100)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/delun-zhu-cocos2d-x-qt.git
git@api.gitlife.ru:oschina-mirror/delun-zhu-cocos2d-x-qt.git
oschina-mirror
delun-zhu-cocos2d-x-qt
delun-zhu-cocos2d-x-qt
master