Форум программистов, компьютерный форум, киберфорум
Lua
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 19.04.2021
Сообщений: 73

sceneGroup:insert как добавить функцию

02.06.2021, 02:22. Показов 2752. Ответов 4
Метки lua (Все метки)

Студворк — интернет-сервис помощи студентам
Есть функция spawn, которая формирует объекты падающие сверху. Пытаюсь организовать переход между сценами, но выдает ошибку, при нажатии на tMenu

полный код
Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
local composer = require "composer"
local scene = composer.newScene()
 
local physics, tMenu, score
 
local function push_menu ()
    composer.gotoScene("menu")
end
 
function scene:create (event) -- размещаются все граф и аудио элем необходимые для загрузки сцены (все что отвечает за статическую загрузку)
    local sceneGroup = self.view
        
    physics = require "physics"
    physics.start()
 
    local background = display.newImageRect("fon.jpg", 1200, 800)
    background.x = 0
    background.y = 200
 
    local dog= display.newImage ("dog.png")
    dog.ID = "cat"
    dog.x = 150
    dog.y = 500
    physics.addBody(dog, "dinamic", {isSensor = true})
    dog.gravityScale = 0
 
    tMenu = display.newImage ("menu.png")
    tMenu.ID = "tMenu"
    physics.addBody(tMenu, "static")   
    tMenu.tap = push
    tMenu.x = 50
    tMenu.y = 555
 
    local t_count = display.newImage("count.png")
    t_count.x = 220
    t_count.y = -35
    score = 0
    local t_score = display.newText(score, 290, -52, "Segoe UI Black", 42)
    t_score:setFillColor(0, 0, 1)
    
    local t_level = display.newImage("level1.png")
    t_level.x = 40
    t_level.y = -20
 
    local function MoveOB(event)
        if (event.phase == "began") then
            display.currentStage:setFocus(dog)
            dog.touchOffsetX = event.x - dog.x
            dog.touchOffsetY = event.y - dog.y
        end
        if (event.phase == "moved") then
            dog.x = event.x - dog.touchOffsetX
            dog.y = event.y - dog.touchOffsetY
        end
        if (event.phase == "ended") then
            display.currentStage:setFocus(nil)
        end
    end
        dog:addEventListener("touch", MoveOB)
 
 
    local function spawn_bone()
        local x = math.random(0,300)
        local bone = display.newImage ("bone.png")
        bone.x = x
        bone.y = -100
        bone.ID = "bone"
        bone.gravityScale  = math.random(0,150)/100
        physics.addBody(bone, "dinamic")
        bone.isSensor = true
        bone:applyLinearImpulse(0, 0.15, bone.x, bone.y)   
    end
    timer.performWithDelay(2000,spawn_bone,0)
 
    local function crash (self, event)
        if (event.phase == "began") then
            if (event.other.ID == "bone") then
                score = score + 1
                t_score.text = score
                event.other:removeSelf()
            end 
        end
    end
    dog.collision = crash
    dog:addEventListener("collision", dog)
 
    sceneGroup:insert(background)
    sceneGroup:insert(t_score)
    sceneGroup:insert(t_count)
    sceneGroup.HomePage = spawn
    sceneGroup:insert(t_level)
    sceneGroup:insert(tMenu)
    sceneGroup:insert(dog)
        
end
 
function scene:show (event) 
    local phase = event.phase
    if ("did" == phase) then
        tMenu: addEventListener("tap", push_menu)
    end
    
 
end
 
function scene:hide (event)
    local phase = event.phase
    if ("will" == phase) then
        physics.stop()
        physics = nil
        tMenu: removeEventListener("tap", push_menu)
    end
    if ("did" == phase) then 
        composer.removeScene("level1") 
    end
end
 
function scene:destroy (event)
 
end
 
scene:addEventListener("create", scene)
scene:addEventListener("show", scene)
scene:addEventListener("hide", scene)
scene:addEventListener("destroy", scene)
 
return scene
Миниатюры
sceneGroup:insert как добавить функцию  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2021, 02:22
Ответы с готовыми решениями:

Реализовать функцию INSERT. Не использовать стандартную функцию insert
Реализовать функцию Insert(s, s1, i1, i2), возвращающую строку, полученную вставкой в строку s строки s1 вместо символов с индексами от i1...

создать класс с двумя переменными,добавить функцию вывода на экран и функцию изменения этих переменных,добавить функцию
создать класс с двумя переменными,добавить функцию вывода на экран и функцию изменения этих переменных,добавить функцию которая находит...

Как добавить через Insert Into ключевое поле в базу данных
Здравствуйте ! Хотел узнать: "Сталкивался ли кто-то при вставке ключевого поля в базу данных ?" Стоит ли его указывать явно в...

4
 Аватар для vantfiles
1018 / 1919 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
02.06.2021, 10:33
Цитата Сообщение от Chiselko Посмотреть сообщение
local physics
Почему локальная?
0
0 / 0 / 0
Регистрация: 19.04.2021
Сообщений: 73
02.06.2021, 11:39  [ТС]
а какая должна быть?)
как объявить глобальную?
если убрать local перед physics, то такая же ошибка
0
 Аватар для vantfiles
1018 / 1919 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
02.06.2021, 13:58
Мне сложно сказать в чем тут дело наверняка, но ошибка же явно указана - в модуле level1.lua имеется обращение к неинициализированной переменной physics.

Выходов тут два - либо сделать ее глобальной для всех модулей, либо задублировать в этом модуле объявление

local physics = require "physics"

Добавлено через 6 минут
Да, и еще момент - подключение модуля физики у Вас зачем-то делается внутри ф-ции scene:create -- лучше вынести эту строку в начало модуля, в третью строку. Потому что если по какой-то причине обращение к модулю physics произойдет до вызова этой ф-ции, получится точно такая же ситуация.
0
0 / 0 / 0
Регистрация: 19.04.2021
Сообщений: 73
03.06.2021, 16:35  [ТС]
вынесла строку - не помогло

Добавлено через 4 минуты
все равно ругается на физику, даже если выносить в начало
а глобальная это просто объявить в начале перед всеми модулями?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2021, 16:35
Помогаю со студенческими работами здесь

Как в делфи добавить через Adoquery в таблицу вещественное число, через insert
Как в делфи добавить через Adoquery в таблицу вещественное число, через insert. При добавлении у меня выводит ошибку Data Truncated for...

Insert Как поправить значение перед insert
Есть таблица с numeric (5.2) полем. Сторонний ехе-шник в нее пишет и не всегда значение влезает. (Исходника нет) Как поправить...

Как добавить функцию?
Вот преобразованный из списка словарь students_list = , , ] students_dict = {} for i in students_list: ...

Как добавить функцию?
Скачал функцию для перевода числовой информации в тексторую например : 23- двадцать три. Запускаю просто двойным щелчком, то добавляется,...

Оператор INSERT, не могу добавить значение!
Данный код работает, когда сохраняю 2 записи в БД, есл их становится больше двух, выдает ошибку, как решить данную проблему? необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru