vadim4ik123, Мне кажется - что я вас наконец понял) Но в вашей просьбе не было ничего сложного, просто как я понял, вам необходимо, чтобы при выстреле пуля начинала лететь оттуда, где вы стоите.
while true do screen:clear() pad = Controls.read() screen:blit(0,0,fon) screen:blit(x,y,Tank)
if pad:cross() and oldpad:cross()~=pad:cross() then masx[fire]=x--здесь мы даём каждой пуле текущие значения координат танка, если он у вас может двигаться по X masy[fire]=y--здесь мы даём каждой пуле текущие значения координат танка, если он у вас может двигаться по Y masn[fire]=1 if fire<10 then fire=fire+1 else fire=1 end end
for i=1,10 do screen:blit(masx[i],masy[i],pulia) if masn[i]==1 then if masx[i]<480 then masx[i]=masx[i]+1 else masx[i]=0 masn[i]=0 end end end
if pad:up() and y>0 then y=y-2 end if pad:down() and y+Tank:height()<272 then y=y+2 end if pad:left() and x>0 then x=x-2 end if pad:right() and x+Tank:width()<480 then x=x+2 end
if pad:select() then mp3me.load("music/1.mp3") mp3me.play() end
Да ДА я в свою группу в вк ссылку дам на сайт у меня там 391 участник что половину из них зайдут а четверть зарегаются.
Добавлено (06.01.2013, 15:33) --------------------------------------------- Помогите!Вот у меня все нормально пуля стреляет а вот только она стреляет с угла моего танчика а я хочу чтобы стреляла где моя пушка
от только она стреляет с угла моего танчика а я хочу чтобы стреляла где моя пушка
Вы когда masy[i] присваиваете значение Y то вы можете его настроить таким образом masy[i]=y+11 или вообще любое число вместо 11, аналогично делайте так же если вам надо подогнать начало пули по X
Добавлено (13.01.2013, 19:53) --------------------------------------------- Помогите!Я сделал чтобы 2 игрок стрелял ошибки все сам исправил но он у меня не стреляет =(
Вот код: System.setHigh() fon=Image.load("img/fon.png") Tank=Image.load("img/2.png") Tank2=Image.load("img/3.png") pulia=Image.load("img/pulia.png")
mast={10} mase={10} masw={10}
for i=1,10 do mast[i]=483 mase[i]=50 masw[i]=73 end
f1=0 f2=0 x=9 y=110 fire=1 t=425 e=110
while true do screen:clear() pad = Controls.read() screen:blit(0,0,fon) screen:blit(x,y,Tank) screen:blit(t,e,Tank2)
if pad:left() and oldpad:left()~=pad:left() then mast[fire]=t+50 mase[fire]=e+9 masw[fire]=1 if fire<10 then fire=fire+1 else fire=1 end end
for i=1,10 do screen:blit(mast[1],mase[1],pulia) if masw[i]==1 then if mast[i]<480 then mast[i]=mast[i]+1 else mast[i]=0 masw[i]=0 end end end
if pad:up() and y>0 then y=y-2 end
if pad:down() and y+Tank:height()<272 then y=y+2 end
if pad:triangle() and e>0 then e=e-2 end
if pad:cross() and e+Tank2:height()<272 then e=e+2 end
if pad:select() then Mp3me.load("music/2.mp3") Mp3me.play() end
if pad:start() then break end
if pad:l() then f1=1 end if pad:r() and f1==1 then f2=1 end
vadim4ik123, Взглянув на ваш код - я понял, что вы меня совершенно не поняли.. Ну зачем вы пишете это masw[i]=73 - ведь вы всёравно в строчке
mase[fire]=e+9 masw[fire]=1
Это значение потеряете..
Плюс я же тебе уже говорил, что надо сделать больше массивов, а не использовать те, что я в уроке написал. БОЛЬШЕ, и что я вижу, что мои слова не были услышаны
Это у вас есть mast={10} mase={10} masw={10} И что вам мешало придумать ещё парочку похожих mastq={10} maseq={10} maswq={10}
А потом их заполнить СВОИМИ числами в цикле
for i=1,10 do mast[i]=483 mase[i]=50 masw[i]=0 mastq[i]=483 maseq[i]=50 maswq[i]=0 end
И дальше вот это использовать для одной кнопки например
if pad:left() and oldpad:left()~=pad:left() then mast[fire]=x+50 mase[fire]=y+9 masw[fire]=1 if fire<10 then fire=fire+1 else fire=1 end end
А вторым танком для другой
if pad:right() and oldpad:right()~=pad:right() then mastq[fires]=t+50 maseq[fires]=e+9 maswq[fires]=1 if fires<10 then fires=fires+1 else fires=1 end end
Заметьте что я ввёл новую переменную fires, а значит её надо в начале программы будет занулить вам.
И т.д.
Вывод изображения тоже должен измениться
for i=1,10 do screen:blit(mast[1],mase[1],pulia) screen:blit(mastq[1],maseq[1],pulia) if masw[i]==1 then if mast[i]<480 then mast[i]=mast[i]+1 else mast[i]=0 masw[i]=0 end end if maswq[i]==1 then if mastq[i]<480 then mastq[i]=mastq[i]+1 else mastq[i]=0 maswq[i]=0 end end end
P.S. Вы уж извините за возможно немного резкую мою реплику, но уж особо не серчайте, ибо я вам уже это объянял в ВК, но вы меня как я вижу проигнорировали, либо не поняли, однако никаких вопросов после этого не задавали по этой теме..
vadim4ik123, Класс!За тебя большую часть игры написали ты код скопировал игра готова позже ты сделаешь меню выложишь в инет скажешь что это твоя игра игра и пишешь что ты понял....Но почему то мне всё ещё кажется что ты ничего не понял...Ничего не скажу Pong на PSP тоже не совсем мой...да что там не совсем он вообще не мой (я только некоторые части кода изменил) но как видишь я забросил Lua т.к по двум причинам:1)Мне его лень было учить.2)Естественно у меня ничего не получалось.И я перешёл на Unity3d.И как видишь я до сих пор делаю на нём игры и без чьей либо помощи.Потому что когда тебе кто то пишет за тебя почти всю игру а ты выдаёшь её за свою и думаешь что ты крутой прогер....то это на мой взгляд мягко говоря не правильно.Ну а ты смотри сам... Просто понимаешь в программировании нужно думать логически...а твои вопросы доказывают то что логики у тебя мягко говоря мало.Мой тебе совет-сначала поучи VB 6.0 который считается одним из легких ЯП(ЯП-это Язык Программирования,если что ) правда он на ПК(ПК - это Персональный Компьютер,если что) но зато после него тебе может быть будет легче учить другие ЯП.А пока....Пока!