Я только что познакомился с композитором, поэтому я до сих пор не понимаю, как это работает. Я пытаюсь перенести уже действующую игру в композитора, но я очень хорошо разбираюсь в этом коде в течение 5 часов и все еще не могу заставить его работать правильно - физика работает неправильно, а также не прослушиватели событий. Если кто-то захочет одолжить мне руку, я буду очень благодарен. Вот код https://github.com/DFrogBinder/Coursera-cource/blob/gh-pages/Game/Play.luaCronoa Composer
1
A
ответ
0
У вас есть несколько опечаток, которые могут вызывать некоторые из проблем физики, но я точно не знаю, какие у вас проблемы.
--> Walls and Ceiling
local left_Wall = display.newRect(0, 500 , 1, display.contentHeight)
local Right_Wall = display.newRect(display.contentWidth, 500, 1, display.contentHeight)
local Celling = display.newRect(300, 0, display.contentWidth, 1)
physics.addBody(left_Wall, "static", {bounce = 0.3})
physics.addBody(Right_Wall, "static", {bounce = 0.3})
-- Here, you have "Ceiling" rather than "Celling" that you defined above
physics.addBody(Ceiling, "static", {bounce = 0.8})
sceneGroup:insert(left_Wall)
sceneGroup:insert(Right_Wall)
sceneGroup:insert(Celling)
Здесь, вы, кажется, использовали event.x и event.y, которые, я уверен, вы смысл поставить event.target.x и event.target.y
local function moveCrate (event)
local Crate = event.target
Crate:applyLinearImpulse(0, -20, event.x, event.y)
end
Если у вас возникают проблемы с композитором при переключении на сцену «Игра поверх», возможно, потому, что вы не удаляете свои экранные объекты в конце этой сцены.
Смежные вопросы
- 1. Как установить пакеты Composer PHP без Composer?
- 2. Как установить Composer с помощью Composer?
- 3. Обновление файлов автозагрузки Composer без `composer update`?
- 4. Composer Удаление
- 5. Composer autoload
- 6. Composer Update
- 7. Codeigniter + Composer
- 8. Composer autoloader
- 9. composer: RuntimeException
- 10. Laravel 5/Composer terminal error: sh.exe ": composer: command not found
- 11. PHP Composer using define
- 12. Composer для самозарядного PHP
- 13. Пакеты в Neos (Composer)
- 14. PHP composer xdebug warning
- 15. Ошибка Php composer openssl
- 16. Установить OmniPay без Composer
- 17. Visual Composer не разобрал
- 18. Настройка Composer для терминала
- 19. Icon Composer location
- 20. Composer hidden Token
- 21. Composer ограничение памяти обновление
- 22. Visual Composer boxed view
- 23. Composer пакет не найден
- 24. Composer + twitter bootstrap 2
- 25. WAMP + Composer + Laravel + PhpStorm
- 26. Ошибка установки Laravel/Composer
- 27. Laravel Composer прекратил работу
- 28. Composer: zlib_decode data error
- 29. Composer тест филиал
- 30. Phing and composer
Я исправил опечатки, насколько это касается функции moveCrate в исходном (рабочем) коде, это событие. Однако я изменил его на event.target.x и event.target.y, но без результата. Я все еще получаю сообщение об ошибке «попытка вызвать метод applyLinearImpulse» (значение nil) », другое, что физический движок не работает, поскольку ящики просто неподвижно стоят на своих точках появления в воздухе. – DFrogBinder
Вы настраиваете гравитацию перед началом физики. Попробуйте вызвать свой физический.start() перед созданием или установите гравитацию и так после начала физики. Кроме того, я не верю, что вы можете вызвать composer.gotoScene() во время столкновения. –
Да, заметил это буквально 2 мин назад, теперь все в порядке, спасибо – DFrogBinder