forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Как сделать стрельбу (http://forum.boolean.name/showthread.php?t=19903)

softcrasoft 09.07.2015 15:48

Как сделать стрельбу
 
Приветствую.
Я уже делал подобную тему, но из-за того что я все описал не так как надо, не получил понятного ответа.
Итак:
У меня есть собственно сам blitz3d.
Там написана не до игра, где спереди меня и чуть левее враг.
Стрелкой вверх я иду вверх, вниз иду вниз.
Влево поворачиваюсь влево, вправо поворачиваюсь вправо.
И вот сам вопрос:
Как сделать стрельбу?
что бы если я повернут прямо к противнику и жал пробел, воспроизводился взук выстрела. И если объект по центру, что бы выполнялся блок, где идет воспроизведение звука крика, и отнятие hp.
Как такие вещи можно сделать?
Если б я не поворачивался а перемещался, я бы сравнивал по оси y. Но с поворотами...
Сразу предупрежу. тригонометрию не знаю.
И прошу кстати туторы различные не предлагать, а описать хотя бы алгоритм по моей задаче.
Удачи!

L-ee-X 09.07.2015 15:52

Ответ: Как сделать стрельбу
 
Открой справку в конце то концов профессионал, изучи хоть не много....
Такое ощущение что тут за тебя игру пишут а ты только как Ген. Директор идеи выдвигаешь, а справку наверное в глаза не видел. Где же твои профессиональные навыки то.

softcrasoft 09.07.2015 16:21

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

L-ee-X 09.07.2015 16:23

Ответ: Как сделать стрельбу
 
Так в справке этого и не будет. В справке все есть для того чтоб это сделать. Сложного там ни чего нет.

softcrasoft 09.07.2015 16:26

Ответ: Как сделать стрельбу
 
ну вы то может тригонометрию знаете, а я нет. там даже функций для того что бы осуществить нет. ну или по крайней мере я их не нашел.

Nerd 09.07.2015 16:41

Ответ: Как сделать стрельбу
 

L-ee-X 09.07.2015 16:46

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от Nerd (Сообщение 297473)

Да что толку он найдет её? Следующий вопрос будет и что с ней делать? Как мне написать, какой алгоритм и тд

softcrasoft 09.07.2015 16:56

Ответ: Как сделать стрельбу
 
похоже EntityRoll# это то, но как проверить, направлено ли это объекту. да и вообще ось z это ж вроде вперед. хотя как там ппо тригонометрии я не знаю.

L-ee-X 09.07.2015 16:59

Ответ: Как сделать стрельбу
 
Код:

EntityPickMode entity,pick_geometry[,obscurer]
Параметры
entity - указатель объекта

pick_geometry - тип геометрии, используемой для проверки:
0: не проверяется (по умолчанию)
1: Сфера (используется EntityRadius)
2: Полигоны
3: Куб (используется EntityBox)

obscurer (не обязательно) - True, чтобы установить, что объект перекрывает другие объекты во время выполнения EntityVisible.

Описание
Устанавливает режим проверки для объекта.

Дополнительный параметр obscurer используется с EntityVisible, чтобы создать условия, когда линия взгляда может как бы беспрепятственно пройти между двумя объектами. Это позволяет проверять некоторые объектам с использованием других pick-команд, но игнорировать их (они как бы 'прозрачные') при использовании EntityVisible. Это очень важное свойство EntityVisible.

Пожалуйста, учтите, что только типы Сфера и Куб будут работать со спрайтами Blitz3D. Оопределение полигона возможно только в объекте типа mesh( модель).

Смотрите также: EntityPick, LinePick, CameraPick, EntityPickMode.


L-ee-X 09.07.2015 17:06

Ответ: Как сделать стрельбу
 
Держи, уже почти готовый CoD :-D
PHP код:

Graphics3D 640,480,32,2
SetBuffer BackBuffer
()

Global 
fntArialr
fntArialr
=LoadFont("Arial",24,False,False,False)


Type Dude
    Field entity
,speed#
End Type

Type Dudet
    Field entity2
End Type

Const TYPE_PLAYER=1,Typelevel=2,enti=3,botar=4,enti2=5
Collisions TYPE_PLAYER
,TYPE_PLAYER,1,1

Healthb
=100
Healthig
=100

SchetB
=0
SchetP
=0
 campiv 
CreatePivot() 
 
cam CreateCamera(campiv)
CameraRange cam0.1,200000
EntityType campiv
,TYPE_PLAYER

lit
=CreateLight()

PositionEntity lit,0,20,0
RotateEntity lit
,10,90,0

gun1
=CreateCube()

ScaleEntity gun1,0.04,0.04,0.1
 PointEntity gun1
,campiv
EntityParent gun1
,campiv
EntityParent gun1
,cam 
PositionEntity gun1
,0,-0.15,+0.3
EntityColor gun1
,99,99,103

gunmu
=CreateCube(gun1)
ScaleEntity gunmu,0.1,0.7,0.7
 PointEntity gunmu
,campiv
EntityParent gunmu
,campiv
EntityParent gunmu
,cam 
PositionEntity gunmu
,0,-0.15,+0.40

bot
=CreateCube()
ScaleEntity bot,0.5,0.8,0.5
PositionEntity bot
,0,0,20
EntityColor bot
,0,160,252
EntityType bot
,botar

gol
=CreateSphere(8,bot)
ScaleEntity gol,0.7,0.5,0.7
PositionEntity gol
,0,1.5,0
EntityColor gol
,231,109,0
EntityType gol
,botar

pln
=CreatePlane()

EntityColor pln,205,88,249

PositionEntity pln
,0,-1,0


 cub1
=CreateCube()
EntityColor cub1,42,255,0
PositionEntity cub1
,-3,0,0
ScaleEntity cub1
,0.3,4,20
EntityType cub1
,Typelevel

 cub2
=CreateCube()
EntityColor cub2,42,255,0
PositionEntity cub2
,3,0,0
ScaleEntity cub2
,0.3,4,20
EntityType cub2
,Typelevel

 cub3
=CreateCube()
EntityColor cub3,255,0,0
PositionEntity cub3
,8,0,20
ScaleEntity cub3
,5,4,0.3
EntityType cub3
,Typelevel

 cub4
=CreateCube()
EntityColor cub4,255,0,0
PositionEntity cub4
,-8,0,20
ScaleEntity cub4
,5,4,0.3
EntityType cub4
,Typelevel

cub2
=CreateCube()
EntityColor cub2,255,0,0
PositionEntity cub2
,20,0,0
ScaleEntity cub2
,0.3,4,40
EntityType cub2
,Typelevel


cub2
=CreateCube()
EntityColor cub2,255,0,0
PositionEntity cub2
,-20,0,0
ScaleEntity cub2
,1,4,40
EntityType cub2
,Typelevel

pot
=CreateCube()
ScaleEntity pot,100,0.01,100

EntityColor pot
,255,255,255
PositionEntity pot
,0,4,0

Collisions TYPE_PLAYER
,typelevel,2,2
 
Collisions botar
,typelevel,2,2


Repeat

For d.Dude=Each Dude
        
        MoveEntity d
\entity,0,0,1

If EntityDistance(gun1,d\entity)>200
FreeEntity d
\entity
    Delete d
    
                    
EndIf


    
Next


If bull<MilliSecs()        

        
bul=bul+1                
            
If bul=25 Then bul=0  
        bull
=MilliSecs()+1
    
EndIf
    
    
    
For 
f.Dudet=Each Dudet
        
        MoveEntity f
\entity2,0,0,1

If EntityDistance(bot,f\entity2)>200
FreeEntity f
\entity2
    Delete f
    
                    
EndIf
            
    
Next


If bull2<MilliSecs()        

        
bul2=bul2+1                
            
If bul2=25 Then bul2=0  
        bull2
=MilliSecs()+1
    
EndIf

If 
EntityCollided (bot,Typelevel)

AlignToVector bot,EntityX(bot)-EntityX(campiv),0,EntityZ(bot)+EntityZ(campiv),0,0.6
EndIf 




TurnEntity bot,0,Sgn(DeltaYaw(bot,campiv))*2.3,0
MoveEntity bot
,0,0,0.05
 
If KeyDown(17)  Then 
TFormVector 0
,0,0.2,cam,campiv 
MoveEntity campiv
,TFormedX(),0,TFormedZ() 
EndIf 

If 
KeyDown(31)  Then
TFormVector 0
,0,-0.2,cam,campiv 
MoveEntity campiv
,TFormedX(),0,TFormedZ() 
EndIf 

If 
KeyDown(30)  Then 
MoveEntity  campiv
,-0.2,0,0
EndIf 

If 
KeyDown(32)  Then 
MoveEntity  campiv
,0.2,0,0
EndIf 

If 
KeyDown(57)
CameraZoom cam,2
Else
CameraZoom cam,1
EndIf 




If 
EntityInView(bot,cam)
For 
g=1 To 1
sphere2
=CreateSphere()
ScaleEntity sphere2,0.1,0.1,0.1
RotateEntity sphere2
,10,0,20
If bul2=0
f
.Dudet=New Dudet
    f
\entity2=CopyEntitysphere2 )
    
EntityColor f\entity2,Rnd(255),Rnd(255),Rnd(255)
        
ResetEntity f\entity2
        
    PositionEntity f
\entity2,EntityX#(bot),EntityY#(bot)-0.3,EntityZ(bot) 
RotateEntity f\entity2,EntityPitch#(bot,1),EntityYaw#(bot),0 
EntityType f\entity2,enti2
Collisions enti2
,Typelevel,2,3
Collisions enti2
,TYPE_PLAYER,1,2
EndIf 
Next

If EntityCollided (campiv,enti2)
Healthig=Healthig-1
EndIf



FreeEntity sphere2

EndIf



TurnEntity campiv,0,-MouseXSpeed(),
If EntityCollided (campiv,tulevel
EndIf 


MoveMouse 320,240
 
If Healthb<1
PositionEntity campiv
,0,0,0
PositionEntity bot
,0,0,20
Healthb
=100
Healthig
=100
SchetB
=SchetB+1
EndIf

If 
Healthig<1
PositionEntity campiv
,0,0,0
PositionEntity bot
,0,0,20
Healthb
=100
Healthig
=100
SchetP
=SchetP+1
EndIf

 
UpdateWorld

 RenderWorld

 SetFont fntArialr
    Text 70
,27,"Health"
     
SetFont fntArialr
    Text 70
,67,"Health-Bot="+Healthb
    Text 70
,97,"Health-Player="+Healthig

    
    
    SetFont fntArialr
    Text 500
,27,"Account"
    
SetFont fntArialr
    Text 500
,67,"Bot="+SchetP

SetFont fntArialr
    Text 500
,97,"Player="+SchetB

 Flip

Until KeyHit
(1)


End 

Тут бот стреляет, посмотри код и сделай чтоб Player еще мог стрелять, как ты говоришь АЛГОРИТМ там присутствует... Написал бы да писать лень :)

Andvrok 09.07.2015 17:21

Ответ: Как сделать стрельбу
 
Ты что, он же не код просит, а АЛГОРИТМ.

L-ee-X 09.07.2015 17:29

Ответ: Как сделать стрельбу
 
Правильней наверное условие очередное ему надо написать которое при виде бота и нажатие лкм летела пуля и если столкнулась с объектом то отняла 10 HP. Вот и весь АЛГОРИТМ :))))

softcrasoft 09.07.2015 18:01

Ответ: Как сделать стрельбу
 
сам страуструп говорил, что чужой код - мрак в ночи, а свой код - своя жизнь.
Код я почти полностью не понял.
А по простому алгоритму так:
если нажат пробел, то
проиграть звук выстрела
если какой-то объект равен центру экрана уж не знаю как там это по тригонометрии, то
отнять 20 хп
если хп > 0, то
проиграть (3д) звук крика
end if
если хп <= 0, то
проиграть (3д) звук крика(умер)
end if
end if
то, какая функция возвращает объект в центре экрана, вопрос.

softcrasoft 09.07.2015 18:03

Ответ: Как сделать стрельбу
 
Ботов просто может быть несколько, и не будут же хп отниматься у одного, а стреляю с в другого.

softcrasoft 09.07.2015 18:14

Ответ: Как сделать стрельбу
 
Кстати, вот цитата моего одного знакомого, который занимался блицом:
В 2008 году, я узнал про блиц. тогда бгт специально для аудио игр небыл готов. Была некоторая русская инструкция. тогда я ужасно знал английский. и ради атаки и т.д, мне пришлось лезть на английские форумы, так как на русских нормального ответа не давали. Я с большим трудом разобрался с этим. Много было ошибок, небыло инструкции по решению определенных задач, да и думаю сейчас тож нет.
я б тебе помог, да уже не помню ничего. так как забросил всё в том же 2008 году. так как ответ то я получил, но не полный.
Конец цитаты.
Ребят вот так же сдесь. у вас, в первом сообщении простое условие, а вы сказать функцию которая определяет в центре ли объект, и какой. можно даже без какой, ладно я через фор сделаю проверку сказать не можете.
А представлте вы нуб в этом языке и ничего не знаете? скажете, полезу в справку. ну а если английский не знаешь?

softcrasoft 09.07.2015 18:19

Ответ: Как сделать стрельбу
 
Возвращает True, если объекты src_entity и dest_entity находятся в зоне видимости друг друга ( "видят" друг друга).
то есть как я понимаю, условие будет таким?
if entityVisible (player,enemy) == true then
крики
end if
да?

Andvrok 09.07.2015 18:24

Ответ: Как сделать стрельбу
 
Держи, пока я добрый.

PHP код:

если(КнопкаНажата(Кнопка.Пробел))
{
    
Аудио.Проиграть(звуквыстрела);
    
Луч луч Камера.Основная.ТочкаВЛуч(Ввод.ПозицияКурсора);
    
ЦельЛуча цельЛуча;
    
если(Физика.ПуститьЛуч(лучвне цельЛуча100))
    {    
        
переменная цель цельЛуча.Коллайдер.Объект.ПолучитьКомпонент<Цель>();
        
цель.ОтнятьХП(10);
        
если(цель.ХП 0)
        {
            
Аудио.Проиграть(крик);
        }
        
иначе
        
{
            
Аудио.Проиграть(смерть);
        }
    }



Andvrok 09.07.2015 18:31

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от softcrasoft (Сообщение 297488)
ну а если английский не знаешь?

Тогда тебе в геймдеве делать нечего.

L-ee-X 09.07.2015 18:35

Ответ: Как сделать стрельбу
 
Какой нафиг это алгоритм? Это простое условие которое написать легче простого. И нет такой команды если объект в центре экрана. CameraPick или как там она есть. Тебе в начале написали какими командами делать. Ты бы хоть не много тот код прочитал что я скинул и посмотрел как это делается.

softcrasoft 09.07.2015 18:36

Ответ: Как сделать стрельбу
 
это пример c++ а не блица ггг

softcrasoft 09.07.2015 18:37

Ответ: Как сделать стрельбу
 
вы написали код атаки куба. а меня больше интересует условие с моей атакой. так понятней будет.

L-ee-X 09.07.2015 18:38

Ответ: Как сделать стрельбу
 
Ну так посмотри как куб то там атакует и сделай чтоб так же плеер атаковал.

softcrasoft 09.07.2015 18:42

Ответ: Как сделать стрельбу
 
там как я понял он поворачивается в сторону игрока а условия там нет.

L-ee-X 09.07.2015 18:50

Ответ: Как сделать стрельбу
 
Да причем тут поворачивается? Посмотри говорю как выстрел делается...

softcrasoft 09.07.2015 18:53

Ответ: Как сделать стрельбу
 
fntArialr=LoadFont("Arial",24,False,False,False) чт оэто?

softcrasoft 09.07.2015 18:57

Ответ: Как сделать стрельбу
 
я овобще ж говорю в коде не разобрался. где там стрельба не разберешь

St_AnGer 09.07.2015 18:57

Ответ: Как сделать стрельбу
 
ппц. Разбиваем функцию на слова:
1) Load - загрузка;
2) Font - шрифт.
Из чего следует что это загрузка шрифта. Логично? Да. Без английского ты программировать не сможешь.

L-ee-X 09.07.2015 19:05

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от St_AnGer (Сообщение 297506)
Да. Без английского ты программировать не сможешь.

Говорили ему уже, бесполезно :-D

L-ee-X 09.07.2015 19:13

Ответ: Как сделать стрельбу
 
PHP код:

If EntityInView(bot,cam) ; если плеер в зоне видимости бота то
For g=1 To 1
sphere2
=CreateSphere()
ScaleEntity sphere2,0.1,0.1,0.1 
RotateEntity sphere2
,10,0,20
If bul2=0
f
.Dudet=New Dudet
    f
\entity2=CopyEntitysphere2 )
    
EntityColor f\entity2,Rnd(255),Rnd(255),Rnd(255)
        
ResetEntity f\entity2
        
    PositionEntity f
\entity2,EntityX#(bot),EntityY#(bot)-0.3,EntityZ(bot) 
RotateEntity f\entity2,EntityPitch#(bot,1),EntityYaw#(bot),0 
EntityType f\entity2,enti2
Collisions enti2
,Typelevel,2,3
Collisions enti2
,TYPE_PLAYER,1,2
EndIf 
Next

If EntityCollided (campiv,enti2)
Healthig=Healthig-1
EndIf

FreeEntity sphere2
EndIf 


softcrasoft 09.07.2015 19:18

Ответ: Как сделать стрельбу
 
это если буедт игра графическая.
а мне нужно просто в условии нажатия пробел воспроизведение вузка, и сделать то надо условие если враг в центре во врея стрельбы, то отнимаем хп и воспроизводим звук

softcrasoft 09.07.2015 19:25

Ответ: Как сделать стрельбу
 
то есть никаких сфер и такого ненадо. просто проверка, и если верно, отнимаем хп и воспроизводим звук.

L-ee-X 09.07.2015 19:30

Ответ: Как сделать стрельбу
 
Ent = CameraPick(cam)
If KeyHit("Пробел")
If ent > 0
Воспроизводим звук и отнимаем HP
EndIf
EndIf

L-ee-X 09.07.2015 19:32

Ответ: Как сделать стрельбу
 
Я де тебе в теме про Type подобный пример кидал :-D с ботами и отниманием hp

softcrasoft 09.07.2015 19:33

Ответ: Как сделать стрельбу
 
не понял. а где проверка на объект? ггг. или cam типа объект врага? на и camerapick не видел. тока entitypick ну ща по ищу

softcrasoft 09.07.2015 19:34

Ответ: Как сделать стрельбу
 
та я про этот type ничего походу не пойму. причем тут тип и объект. не понятно.
хотя не знаю можно ли написать филд a=createcube.

L-ee-X 09.07.2015 19:37

Ответ: Как сделать стрельбу
 
Да ты походу вообще ни чего не понимаешь. Возьми тот пример что я тебе написал и добавь туда и звук и тд. И будет тебе счастье. В написание кода выше возможно где то ошибся, пишу на память. В любом случае тебе нужен будет Type как не крути.

L-ee-X 09.07.2015 19:41

Ответ: Как сделать стрельбу
 
Я за тебя уже целую игру можно так сказать написал :-D

softcrasoft 09.07.2015 19:55

Ответ: Как сделать стрельбу
 
извините, я не могу тип привротить или в это:
class blablabla
{
int hp;
int speed;
blablabla()
{
hp = 100;
speed = init(speed);
}
//функции
}
или в это
class blablabla:
def __init(self, hp, speed)
self.hp = hp
self.speed = speed
#Другие функции

softcrasoft 09.07.2015 19:59

Ответ: Как сделать стрельбу
 
ок ну допустим примерно я понял про типы. типа делаем его объект и с ним работаем. а если я делаю таких объектов 5
e1\enemy=New Enemy
e\obj = createCube()

и это в цикле фор. и что, выходит, что в e будет 100 объектов????????????????????

L-ee-X 09.07.2015 20:01

Ответ: Как сделать стрельбу
 
Читай однако справку

softcrasoft 09.07.2015 20:08

Ответ: Как сделать стрельбу
 
какую справку? там про типы по английски. перевод на форуме читал, нефига не понял.
гыгы не представляю даж. пишем bot\hp, и перем у всех потом hp смешно.

L-ee-X 09.07.2015 21:06

Ответ: Как сделать стрельбу
 
Ты хоть пример то смотрел мой про типы, хотя бы понял что к чему там и как отнимается хп у игрока? И при этом отнимается не у всех сразу а именно у того на который наведена мышка. Ты реально тупой. У меня просто слов нет уже ...

St_AnGer 09.07.2015 21:33

Ответ: Как сделать стрельбу
 
МужЫк, извини конечно, но ты наркоман.
Цитата:

Сообщение от softcrasoft (Сообщение 297520)
извините, я не могу тип привротить или в это:
class blablabla
{
int hp;
int speed;
blablabla()
{
hp = 100;
speed = init(speed);
}
//функции
}

Код:

;Вот твой тип (аля класс в цпп)
Type blablabla
    Field hp%;
    Field speed%;
End Type

;Создание "объекта" (коли профи - знаешь что это такое)
Function CreateMotherFucker.blablabla(speed%)
    Local b.blablabla = New blablabla;
    b\hp = 100;
    b\speed = speed;

    Return b;
End Function

;Любая другая функция
Function DieMotherFuckerDie(b.blablabla)
    b\hp = -100500;
    b\speed = 0;
End Function

;Инициализируем переменную и создаём "объект" твоего типа
Local mzfk.blablabla = CreateMotherFucker(100500);

;Выполняем нашу другую функцию, принимающую в себя созданный ранее "объект" твоего типа
DieMotherFuckerDie(mzfk);


;Выведем на экран содержимое "объекта" после выполнения нашей функции
Print("HP: "+mzfk\hp);
Print("Speed: "+mzfk\speed);

;Ждём нажатия любой клавиши и выходим
WaitKey;
End;

"Объект" в кавычках потому, что это не тот объект из цпп или любого ООП языка. Это простая переменная указанного типа, в твоём случае типа blablabla. Но это нечто похожее на "объект", ты можешь получить доступ к его внутренностям (в твоём случае к hp и speed). Доходчивее уже некуда объяснять. Вкуривайся в это, или бросай сию затею.

softcrasoft 09.07.2015 22:19

Ответ: Как сделать стрельбу
 
до вас что не доперает, что я не не понимаю типы, а объекты?
enemy.mesh = createcube()
пишу в цикле фор и что, у меня в одном объекте выходит все 5 кубов.
l-ee-x, как я могу понять код, не понимая что за set, handle и old? если я не понимаю к чему идет обращение?
я уж не веноват что вы тут все английчани и юзаете англ документацию, а если я не такой то сразу придурок и тупой идиот?

St_AnGer 09.07.2015 22:24

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от softcrasoft (Сообщение 297540)
до вас что не доперает, что я не не понимаю типы, а объекты?
enemy.mesh = createcube()
пишу в цикле фор и что, у меня в одном объекте выходит все 5 кубов.

Нет, ты не понимаешь как раз саму суть типов. Циклом тебе надо создавать несколько enemy, а не несколько кубов в одном enemy.

То есть как то так:
Код:

For i = 1 To 5
    local e.enemy = new enemy;
    e\mesh = CreateCube();
Next

Вот что тебе нужно. Этот код создаст 5 "объектов" enemy с кубами. Ссылку на русскую справку тебе кинули в другом треде, изучай её срочно. Там про типы просто обязано быть написано. Изучишь типы - тогда уже можно будет поговорить об функциях object и handle.

softcrasoft 09.07.2015 22:30

Ответ: Как сделать стрельбу
 
если б писалось так:
e(i).enemy=new enemy
я бы понял. файл мне не кидали, только ссылку. я там и читал, но там про handle и про все то что тут было написано не слово.

softcrasoft 09.07.2015 22:31

Ответ: Как сделать стрельбу
 
а не то дргуая ссылка. не по ней учился. а тот хелп тока по командам.

softcrasoft 09.07.2015 22:33

Ответ: Как сделать стрельбу
 
я учился по:
http://www.blitz3d.hut2.ru/book.php
но там в типах опять же про это не слова.

St_AnGer 09.07.2015 22:35

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от softcrasoft (Сообщение 297542)
если б писалось так:
e(i).enemy=new enemy
я бы понял.

Ну так сделай массив, что мешает?
Код:

Dim e.enemy(5);

For i = 1 To 5
    e(i) = new enemy;
    e(i)\mesh = CreateCube();
Next

Я могу в синтаксисе ошибаться, бейсиками давно не пользуюсь, ибо НИНУЖНЫ. Но принцип должен быть понятен.

softcrasoft 09.07.2015 22:39

Ответ: Как сделать стрельбу
 
блин это я нуб не увилел.
Чтобы получить адрес текущей записи, служит команда:
Handle(указатель.имя_типа)

softcrasoft 09.07.2015 22:42

Ответ: Как сделать стрельбу
 
только про chr там не написано.

Gector 09.07.2015 23:04

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от St_AnGer (Сообщение 297534)
МужЫк, извини конечно, но ты наркоман.


Код:

;Вот твой тип (аля класс в цпп)
Type blablabla
    Field hp%;
    Field speed%;
End Type

;Создание "объекта" (коли профи - знаешь что это такое)
Function CreateMotherFucker.blablabla(speed%)
    Local b.blablabla = New blablabla;
    b\hp = 100;
    b\speed = speed;

    Return b;
End Function

;Любая другая функция
Function DieMotherFuckerDie(b.blablabla)
    b\hp = -100500;
    b\speed = 0;
End Function

;Инициализируем переменную и создаём "объект" твоего типа
Local mzfk.blablabla = CreateMotherFucker(100500);

;Выполняем нашу другую функцию, принимающую в себя созданный ранее "объект" твоего типа
DieMotherFuckerDie(mzfk);


;Выведем на экран содержимое "объекта" после выполнения нашей функции
Print("HP: "+mzfk\hp);
Print("Speed: "+mzfk\speed);

;Ждём нажатия любой клавиши и выходим
WaitKey;
End;

"Объект" в кавычках потому, что это не тот объект из цпп или любого ООП языка. Это простая переменная указанного типа, в твоём случае типа blablabla. Но это нечто похожее на "объект", ты можешь получить доступ к его внутренностям (в твоём случае к hp и speed). Доходчивее уже некуда объяснять. Вкуривайся в это, или бросай сию затею.

Dope слушаешь?:-D

L-ee-X 09.07.2015 23:04

Ответ: Как сделать стрельбу
 
Chr(anci код) у меня в коде эта команда добавляет символ кавычки к текущему тексту. Не заморачивайся над этой командой, можешь её исключить из кода. Изучай еще там же в справке ANSI коды

softcrasoft 09.07.2015 23:48

Ответ: Как сделать стрельбу
 
ок и последние 3 вещи:
1. что такое old.entity=Null
2. что такое set?
3. то для мыши. а если я поворачиваюсь стрелками?

St_AnGer 09.07.2015 23:54

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от softcrasoft (Сообщение 297560)
ок и последние 3 вещи:
1. что такое old.entity=Null
2. что такое set?
3. то для мыши. а если я поворачиваюсь стрелками?

Код тот не просматривал, потому могу ответить только на первое и то примерно, контекст не знаю. В entity явно лежит какой то энтити (получилась тафтология, в целом там скорее всего куб, сфера или моделька), а этим кодом производится обнуление переменной entity.

L-ee-X 10.07.2015 01:06

Ответ: Как сделать стрельбу
 
Да раз читать не умеет уже бы методом тыка смотрел че получится в том или ином случае. Может так дойдет...

softcrasoft 10.07.2015 07:20

Ответ: Как сделать стрельбу
 
я не умею писать код, не зная что он значит

L-ee-X 10.07.2015 12:29

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от softcrasoft (Сообщение 297567)
я не умею писать код, не зная что он значит

А ты его вообще писать умеешь? Не умеешь писать возьми да скопируй.

softcrasoft 10.07.2015 21:10

Ответ: Как сделать стрельбу
 
я хочу понимать каждую строчку. поэтому и спрашиваю.

Arton 11.07.2015 01:12

Ответ: Как сделать стрельбу
 
Цитата:

Сообщение от softcrasoft (Сообщение 297588)
я хочу понимать каждую строчку. поэтому и спрашиваю.

Э-э... справка по командам?

softcrasoft 11.07.2015 12:49

Ответ: Как сделать стрельбу
 
там тока типа таких
entityX
entityY
а set, указанное в том коде, навернка только в английской.

L-ee-X 11.07.2015 14:11

Ответ: Как сделать стрельбу
 
ДА ЕБАН*** ВРОТ set = FindEntity(ent) Это обыкновенная переменная в которую передаются данные функции FindEntity(ent).... Ты реально задрал, вот перед тем как спрашивать ты вообще смотрел где это set написана и с чем...
Почитай однако еще про Return
PHP код:

; RETURN Пример

Выбор результата для значения возврата функции 'testme'

res testme(Rnd(0,10));

Программа эффективно заканчивается здесь.

Подлинная функция
Function testme(test);

Если случайный номер является 
If test=0 Then
Print "Значение было 0"
Return False Функция завершается немедленно
Else
Print 
"Значение больше, чем 0"
Return True Функция прекращается немедленно
End 
If
Print 
"Эта строка никогда не будет напечатана!"
End Function 

В моем коде set то же самое, что в этом примере res

softcrasoft 11.07.2015 14:42

Ответ: Как сделать стрельбу
 
у вас было set.параметр.

softcrasoft 11.07.2015 14:46

Ответ: Как сделать стрельбу
 
кроч пойду поищу другой форум. тут походу одни нубы кроме arton сидят. нормально помочь с той задачей чтов 1 сообщении не можете. пояснить свой код тож не можете. и код не соответствующий. просил помочь как сделать стрельбу мою, игрока, так нет. они мне дают код стрельбы пративника, так плюс с созданием сфер и т.д прочей не нжной хрени. просто условие что враг по центру сказать не могут.


Часовой пояс GMT +4, время: 10:17.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot