Пятница, 29.11.2024, 08:31 | Приветствую Вас Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Массив пуль
VITTACHДата: Пятница, 04.01.2013, 23:03 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 27
Репутация: 10013
Статус: Offline
vadim4ik123, Мне кажется - что я вас наконец понял)
Но в вашей просьбе не было ничего сложного, просто как я понял, вам необходимо, чтобы при выстреле пуля начинала лететь оттуда, где вы стоите.

Это делается так

System.setHigh()
fon=Image.load("img/fon.png")
Tank=Image.load("img/2.png")
pulia=Image.load("img/pulia.png")

masx={10}
masy={10}
masn={10}

for i=1,10 do
masx[i]=0
masy[i]=0
masn[i]=0
end

x=0
y=0
fire=1

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

screen:flip()
oldpad=pad
end
 
vadim4ik123Дата: Пятница, 04.01.2013, 23:24 | Сообщение # 2
Рядовой
Группа: Заблокированные
Сообщений: 23
Репутация: 0
Статус: Offline
Спасибо вам большое.Я даже не знаю как вас отблагодарить. biggrin biggrin biggrin
СССССССССППППППАААААААССССССИИИИИБББББББББООООО
 
VITTACHДата: Пятница, 04.01.2013, 23:31 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 27
Репутация: 10013
Статус: Offline
Ну самая большая благодарность для меня - это будет распространение ссылки на мой сайт happy
 
vadim4ik123Дата: Воскресенье, 06.01.2013, 15:33 | Сообщение # 4
Рядовой
Группа: Заблокированные
Сообщений: 23
Репутация: 0
Статус: Offline
Да ДА я в свою группу в вк ссылку дам на сайт у меня там 391 участник что половину из них зайдут а четверть зарегаются.

Добавлено (06.01.2013, 15:33)
---------------------------------------------
Помогите!Вот у меня все нормально пуля стреляет а вот только она стреляет с угла моего танчика а я хочу чтобы стреляла где моя пушка

 
VITTACHДата: Воскресенье, 06.01.2013, 16:36 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 27
Репутация: 10013
Статус: Offline
Цитата
от только она стреляет с угла моего танчика а я хочу чтобы стреляла где моя пушка


Вы когда masy[i] присваиваете значение Y то вы можете его настроить таким образом masy[i]=y+11 или вообще любое число вместо 11, аналогично делайте так же если вам надо подогнать начало пули по X
 
vadim4ik123Дата: Воскресенье, 13.01.2013, 19:53 | Сообщение # 6
Рядовой
Группа: Заблокированные
Сообщений: 23
Репутация: 0
Статус: Offline
Спасибо попробую biggrin

Добавлено (06.01.2013, 17:46)
---------------------------------------------
Получилось biggrin

Добавлено (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

if f2==1 then
Mp3me.stop()
end

screen:flip()
oldpad=pad
end
 
VITTACHДата: Воскресенье, 13.01.2013, 20:15 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 27
Репутация: 10013
Статус: Offline
vadim4ik123, Взглянув на ваш код - я понял, что вы меня совершенно не поняли..
Ну зачем вы пишете это masw[i]=73 - ведь вы всёравно в строчке

mase[fire]=e+9
masw[fire]=1

Это значение потеряете..

Плюс я же тебе уже говорил, что надо сделать больше массивов, а не использовать те, что я в уроке написал. БОЛЬШЕ, и что я вижу, что мои слова не были услышаны sad

Это у вас есть
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Дата: Воскресенье, 13.01.2013, 20:42 | Сообщение # 8
Рядовой
Группа: Заблокированные
Сообщений: 23
Репутация: 0
Статус: Offline
Блин мне кажется я понял biggrin .Я понял да!
 
nikitozaДата: Пятница, 14.06.2013, 23:02 | Сообщение # 9
Майор
Группа: Пользователи
Сообщений: 6
Репутация: 100
Статус: Offline
vadim4ik123, Класс!За тебя большую часть игры написали ты код скопировал игра готова позже ты сделаешь меню выложишь в инет скажешь что это твоя игра игра и пишешь что ты понял....Но почему то мне всё ещё кажется что ты ничего не понял...Ничего не скажу Pong на PSP тоже не совсем мой...да что там не совсем он вообще не мой (я только некоторые части кода изменил) но как видишь я забросил Lua т.к по двум причинам:1)Мне его лень было учить.2)Естественно у меня ничего не получалось.И я перешёл на Unity3d.И как видишь я до сих пор делаю на нём игры и без чьей либо помощи.Потому что когда тебе кто то пишет за тебя почти всю игру а ты выдаёшь её за свою и думаешь что ты крутой прогер....то это на мой взгляд мягко говоря не правильно.Ну а ты смотри сам...
Просто понимаешь в программировании нужно думать логически...а твои вопросы доказывают то что логики у тебя мягко говоря мало.Мой тебе совет-сначала поучи VB 6.0 который считается одним из легких ЯП(ЯП-это Язык Программирования,если что ) правда он на ПК(ПК - это Персональный Компьютер,если что) но зато после него тебе может быть будет легче учить другие ЯП.А пока....Пока! bye
 
vadim4ik123Дата: Воскресенье, 14.07.2013, 11:15 | Сообщение # 10
Рядовой
Группа: Заблокированные
Сообщений: 23
Репутация: 0
Статус: Offline
nikitoza, Я не собирался забросить lua,и не буду собираться.И в принципе я написал в той игре кто мне очень помогал,так что не надо так.
 
  • Страница 1 из 1
  • 1
Поиск:

Навигация
Форма входа