Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
 
kasperleti
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 4
1

Замедление работы программы

26.06.2018, 00:53. Просмотров 120. Ответов 1
Метки нет (Все метки)

Недавно стал изучать язык lua решил попробовать написать игру.
Проблема в том что написанная мной программа начинает работать медленней со временем.
Код сцены ниже буду благодарен любой помощи

C
1
2
W = display.contentWidth;
H = display.contentHeight;
C
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
-----------------------------------------------------------------------------------------
--
-- view2.lua
--
-----------------------------------------------------------------------------------------
local composer = require( "composer" )
local scene = composer.newScene()
local physics = require( "physics" )
--local event = require("event")
 
--------------------------------------
function StatMenuG( event )
    composer.gotoScene( "view1" )
end
function OfGame( event )
    composer.removeScene( "view2" )
end
--------------------------------------
 
 
function scene:create( event )
GravituSpeed=0
SpeedVid=3
HP=3
ts=2
tics1=0
tics2=0
tics3=0
tics4=0
    physics.start()
----------------Запуск физики
    local background = display.newImageRect("image/GameFon.jpg",W+200,H)
        background.x=W/2
        background.y=H/2
    local sceneGroup = self.view
    --local h1lps1 = display.newImageRect("image/logo.png",968,360)
        --  h1lps1.x=W/2
            --  h1lps1.y=H/2-200
 
XP = display.newText("0",W-60,35,"Chiller",72)
XP:setFillColor(0.8,0,0)
--XP.font= "Chiller.ttf"
--local text=display.newText("Ваши очки",W-60,15,font,14)
-----------------------------Блок с ХП------------------------------------
 h1lps1 = display.newImageRect("image/hels.png",100,100)
h1lps1.x=220
h1lps1.y=30
 h1lps2 = display.newImageRect("image/hels.png",100,100)
h1lps2.x=h1lps1.x+80
h1lps2.y=30
 h1lps3 = display.newImageRect("image/hels.png",100,100)
h1lps3.x=h1lps1.x+160
h1lps3.y=30
--------------------------Конец блока ХП---------------------------------
    local button_nemu = display.newImageRect("image/button_menu.png",210,60)
        button_nemu.x=70
            button_nemu.y=35
------------------------- Рабочия кнопка --------------------------------
function button_nemu_klis(event)
if (event.phase == "began") then
    StatMenuG()
        OfGame()
onupdate()
    end
return true
end
button_nemu:addEventListener("touch", button_nemu_klis);
------------------------- Рабочия кнопка ---------------------------------
    function gameoffical()
                    background:removeSelf();
        background = nil;
                    XP:removeSelf();
        XP = nil;
                    h1lps1:removeSelf();
        h1lps1 = nil;
                    h1lps2:removeSelf();
        h1lps2 = nil;
                    h1lps3:removeSelf();
        h1lps3 = nil;
                    button_nemu:removeSelf();
        button_nemu = nil;
    end
------------------------- Функция очистки ---------------------------------
pol = display.newRect(0,0,W+80,25)
pol.x=W/2
pol.y=H-10
physics.addBody(pol, "static")
pol.gravityScale = 0
end
 
function scene:show( event )
    local sceneGroup = self.view
    local phase = event.phase
    
    if phase == "will" then
 
    elseif phase == "did" then
                function onupdate()
        end
 
function Pd1()
        if tics1 == 0 then
            h1lps4 = display.newImageRect("image/pl1.png",150,150)
        h1lps4.x=math.random(50,W-50)
    h1lps4.y=0
physics.addBody(h1lps4)
h1lps4.gravityScale = SpeedVid
        function klik1()
            tics1 = 0
                h1lps4:removeSelf();
                    h1lps4 = nil;
                    XP.text=XP.text+1
        end
h1lps4:addEventListener("touch", klik1);
end end
 
function Pd2()
    if tics2 == 0 then
            h1lps5 = display.newImageRect("image/pl2.png",150,150)
        h1lps5.x=math.random(50,W-50)
    h1lps5.y=0
physics.addBody(h1lps5)
h1lps5.gravityScale = SpeedVid
                function klik2()
                    tics2 = 0
                h1lps5:removeSelf();
                    h1lps5 = nil;
                    XP.text=XP.text+1
                end
h1lps5:addEventListener("touch", klik2);
end end
 
function Pd3()
        if tics3 == 0 then
            h1lps6 = display.newImageRect("image/pl3.png",150,150)
        h1lps6.x=math.random(50,W-50)
    h1lps6.y=0
physics.addBody(h1lps6)
h1lps6.gravityScale = SpeedVid
                        function klik3()
                            tics3 = 0
                h1lps6:removeSelf();
                    h1lps6 = nil;
                    XP.text=XP.text+1                           
                        end
h1lps6:addEventListener("touch", klik3);
end end
 
function Pd4()
        if tics4 == 0 then
            h1lps7 = display.newImageRect("image/pl4.png",150,150)
        h1lps7.x=math.random(50,W-50)
    h1lps7.y=0
physics.addBody(h1lps7)
h1lps7.gravityScale = SpeedVid
                                function klik4()
                                    tics4 = 0
                h1lps7:removeSelf();
                    h1lps7 = nil;
                    XP.text=XP.text+1
                                end
h1lps7:addEventListener("touch", klik4);
end end
 
 
 
function list()
                    if tics1 == 1 then
                h1lps4.y=h1lps4.y+SpeedVid  
                    end
                if tics2 == 1 then
            h1lps5.y=h1lps5.y+SpeedVid
                end
            if tics3 == 1 then
        h1lps6.y=h1lps6.y+SpeedVid
            end
        if tics4 == 1 then
    h1lps7.y=h1lps7.y+SpeedVid
        end
end
 
    tl1=os.clock()
        tl2=os.clock()
            tl3=os.clock()
                tl4=os.clock()
                    tlS=os.clock()
function time()
local t = os.clock()
    if t > tl1+2 then Pd1()     tics1=1 tl1=t   end
        if t > tl2+4 then Pd2()     tics2=1 tl2=t   end
            if t > tl3+3 then Pd3() tics3=1 tl3=t   end
                if t > tl4+5 then Pd4() tics4=1 tl4=t   end
                    --if t > tlS+20 then SpeedVid = SpeedVid+0.5 tlS=t  end
    --list()
            --Подсчет жизней
            function Ziza()
            if (HP==0) then
                --Gameover()
                h1lps1.isVisible = false 
                    elseif (HP==1) then
                        h1lps2.isVisible = false
                            elseif (HP==2) then 
                                h1lps3.isVisible = false
            end
        end
        --конец жизни
 
--Блок 3.1 {Касания аватара}
local function Vis(event)
function pol:collision(e)
    if (e.phase == "began") then
if tics1 == 1 then      
if h1lps4.y >=  600 then
        klik1()
        HP=HP-1
        Ziza()
end end
if tics2 == 1 then
    if h1lps5.y >=  600 then
        klik2()
        HP=HP-1
        Ziza()
end end
if tics3 == 1 then
    if h1lps6.y >=  600 then
        klik3()
        HP=HP-1
        Ziza()
end end
if tics4 == 1 then
    if h1lps7.y >=  600 then
        klik4()
        HP=HP-1
        Ziza()
end end
 
end
end
end
Runtime:addEventListener("collision", pol)
Runtime:addEventListener("enterFrame", Vis) -- Вызов функции {Vis}
end
  Runtime:addEventListener("enterFrame", time)
 
    end 
 
 
 
 
    
end
 
function scene:hide( event )
    local sceneGroup = self.view
    local phase = event.phase
    
    if event.phase == "will" then
        -- Called when the scene is on screen and is about to move off screen
        --
        -- INSERT code here to pause the scene
        -- e.g. stop timers, stop animation, unload sounds, etc.)
    elseif phase == "did" then
        -- Called when the scene is now off screen
    end
end
 
function scene:destroy( event )
    local sceneGroup = self.view
        physics.stop()
    gameoffical()
end
 
 
---------------------------------------------------------------------------------
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )
-----------------------------------------------------------------------------------------
 
return scene
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2018, 00:53
Ответы с готовыми решениями:

Замедление работы программы
Здравствуйте, моя программа вычисляет некоторые значения и рисует точку. Дело в...

Замедление работы компьютера
Добрый день, Проблема следующая: внезапно стал тормозить компьютер. Началось...

Несанкционированное замедление работы потоков
Здравствуйте! Имеется программа, моделирующая движение некоторых объектов по...

Замедление работы приложений. С чем связано?
Стоит Windows Server 2003 Standart Edition SP2. Почему после работы...

Замедление программы на VB
Привет всем! Проконсультируйте пожалуйста. При выполнении программы,...

1
vantfiles
47 / 42 / 21
Регистрация: 07.05.2013
Сообщений: 142
06.07.2018, 10:32 2
Одна и та же проблема из темы в тему. Человек берет какой-нибудь сторонний пакет, движок, левую сборку - и абсолютно уверен, что это и есть Lua.

Игровой движок назовите, возможно вопрос и прояснится.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2018, 10:32

Общее замедление работы системы и Windows Search
Очередная чистка домашней системы не привела к полному восстановлению прежней...

Lotus Notes 6 под Wine замедление работы к обеду:)
Всем доброго времени суток. Имеется клиент LN 6.0.3 работающий под wine в...

Замедление работы HDD когда на диске С мало места
У меня жесткий диск на 250 гб, диск С-37,5 гб и D-195 гб. Проблема состоит в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru