Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 12.07.2008, 19:50   #16
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: Уже наболевшее..

Сообщение от Samarik Посмотреть сообщение
и что оно делает?
"искры", или если поставишь текстуру дымка, то будет пыль как при попадании в стену..
(Offline)
 
Ответить с цитированием
Старый 13.07.2008, 00:10   #17
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

мне с с таким тяжело ещё работать, тоесть к той функци я тип написал, сунул куда нада, пишет ошибку на ентити даз нот ексист PShotSparkspr.
вобщем или с примером по использованию или ваще ненадо выкладывать..
_______________
есть трабла, её решение я знаю, но думаю это тупо, спрошу у посетителей форума

вот я тока запустил игру, убил первого бота, из нево кровище полилось, и 1 спрайт, только идин первый, без альфы рендерица.. как такое можно устранить?
Миниатюры
Нажмите на изображение для увеличения
Название: 01.jpg
Просмотров: 647
Размер:	113.1 Кб
ID:	4568  

Последний раз редактировалось Samarik, 13.07.2008 в 02:01.
(Offline)
 
Ответить с цитированием
Старый 13.07.2008, 04:24   #18
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: Уже наболевшее..

вот пример:
Graphics3D 800,600,32,2

cam=CreateCamera()
PositionEntity cam,0,5,0

Type plasma_shots
    Field plr,mesh,side,typ,time,life,tx#,ty#,tz#
End Type

Global GM1_power#=9
Global GM2_power#=15
Global GM3_power#=22

Global Weap_Ion1=CreateSphere();LoadMesh(GLBMeshpath$+"shoti.b3d")
;Global Ion_tex1=LoadTexture(GLBMeshpath$+"shot_ion2.png",1)
Global Weap_Ion2=CreateSphere();LoadMesh(GLBMeshpath$+"shoti.b3d")
;Global Ion_tex2=LoadTexture(GLBMeshpath$+"shot_ion1.png",1)
Global Weap_Ion3=CreateSphere();LoadMesh(GLBMeshpath$+"shotp.b3d")
;Global Ion_tex3=LoadTexture(GLBMeshpath$+"shot_plasma1.png",1)


Global weapon=CreateCube()
PositionEntity weapon,0,0,5

Global PShotSparkspr=CreateCube()
;LoadMesh(GLBMeshpath$+"shotp.b3d")
;EntityFX PShotSparkspr,5
;EntityBlend PShotSparkspr, 3
;EntityTexture PShotSparkspr,LoadTexture(GLBMeshpath$+"shot_plasma1.png",3)

Type PShotSpark
    Field num, sprite, scale#, spd#, parent, alpha#, y#
End Type

Type Unit
    Field mesh,w1t,t
End Type
u.unit=New unit
u\mesh=CreateCube()
u\t=CreatePivot(u\mesh)
ScaleEntity u\mesh,5,5,5
EntityColor u\mesh,150,50,50
PositionEntity u\mesh,0,0,160
EntityType u\mesh,2

EntityPickMode u\mesh,2
PositionEntity u\t,0,0,1000,1

While ((Not G_Exit) And (Not G_Restart))

If MouseHit(1) Then Crt_Ion_Shot(weapon,u\t,.01): u\w1t=35

UpdateShotPSpark()
UpdateIonShot()

UpdateWorld 
RenderWorld
Flip ;0

If KeyHit(1) Then G_Exit=1

Wend
End


Function CrtPShotSpark(boat,vecy=0,vecp=0,ang=0,spd#=3,min#=2,max#=4)
            splasher.PShotSpark=New PShotSpark
            splasher\parent=boat
            splasher\sprite=CopyEntity(PShotSparkspr)
            RotateEntity splasher\sprite,vecp+Rnd(-ang,ang)-180,vecy+Rnd(-ang,ang),0
                splasher\scale#=min#
                splasher\spd#=spd#
            ScaleEntity splasher\sprite,splasher\scale#,splasher\scale#,splasher\scale#*3
            PositionEntity splasher\sprite,EntityX(splasher\parent,True),EntityY(splasher\parent,True),EntityZ(splasher\parent,True)

End Function
Function Crt_Ion_Shot(obj,t,spd#)

        s.plasma_shots=New plasma_shots
        s\mesh=CopyEntity(Weap_Ion1): s\life=60
        tx#=EntityX#(obj,1) ty#=EntityY#(obj,1) tz#=EntityZ#(obj,1)
        PositionEntity s\mesh,tx#,ty#,tz#
        s\tx#=(EntityX#(t,1)-tx#+Rnd(-30,30))*spd# s\ty#=(EntityY#(t,1)-ty#+Rnd(-30,30))*spd# s\tz#=(EntityZ#(t,1)-tz#+Rnd(-30,30))*spd#
        PointEntity s\mesh,t
        EntityFX s\mesh,5
        
        If GSound_ON EmitSound( ion_sound_01,obj )
End Function
Function UpdateShotPSpark()

    For all.PShotSpark=Each PShotSpark
    ScaleEntity all\sprite,all\scale#,all\scale#,all\scale#
    all\scale#=all\scale#*1.1
    MoveEntity all\sprite,0,0,2.0*dt#
    If all\scale#>=1.01 Then FreeEntity all\sprite Delete all
    Next
    
End Function
Function UpdateIonShot()

    For all.plasma_shots=Each plasma_shots

    all\life=all\life-1

    TranslateEntity all\mesh,all\tx#,all\ty#,all\tz#,1

        ob=EntityPick (all\mesh,15);               ----------------Zamenit'!!!!!!!
        If ob>0 Then
            If GetEntityType (ob)=2 Then
                LP#=GP1_power#
                u.Unit=Object.Unit(EntityName(ob))
                ;u\health#=u\health#-(LP#*.01*(100-u\shield));If u\plr=0
                ;u\speed#=u\speed#*.6

                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),200)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),200)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)

            EndIf
        EndIf

    If (all\life<=0) Or (ob) Then FreeEntity all\mesh Delete all
    Next
    
End Function
П.С. а частицы видать неправильно генерируешь. Загрузи один прототип частицы, примени к нему все что нужно, и спрячь. Затем просто копируй и делай Анхайд. Тогда все частицы одинаковы будут.

Последний раз редактировалось FrankH, 13.07.2008 в 04:30.
(Offline)
 
Ответить с цитированием
Старый 13.07.2008, 17:48   #19
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

есть трабла, её решение я знаю, но думаю это тупо
П.С. а частицы видать неправильно генерируешь. Загрузи один прототип частицы, примени к нему все что нужно, и спрячь. Затем просто копируй и делай Анхайд. Тогда все частицы одинаковы будут.
я так и думал сделать..)
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 14:04   #20
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

есть проблема которую я пытаюсь решить уже несколько дней, но ниче пока не выходит. проблема состоит из частиц. немогу реализовать так чтоб они летели но параболе. то есть, произошол взрыв из частиц, и чтоб они потом падали на землю.. помогите реализовать
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 14:22   #21
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Уже наболевшее..

O_o.
p\dx=p\dx-0.1
translateentity p\ent,0,p\dx,0
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (17.07.2008)
Старый 17.07.2008, 15:14   #22
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

сам попробуй так сделать и увидиш что получица.. частиы вверх не подлетают, а тока создавшись летят вниз, и ненадо мне смайлик девида блейна показывать))))
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 15:35   #23
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Уже наболевшее..

о_О.
дык это. p\dx делай во время создания частицы положительным. например 5.
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 15:56   #24
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

у мя с нетом траблы, неуспел вовремя то сообщение отредактировать:

>о_О. - это кумарит вопервых..

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


у мя там ещё трабла есть, после долгово убивания ботов с которых летит много кровища, (оно после ищезноения удаляеца), пули тоже удаляюца, боты после смерти тоже, но потом при попадании в бота перед "излиянием" крови и мяса наблюдаеца тормоз.. откуда он может происходить? ведь первые пару минут игры нормально-то всё.. из-за загрузки спрайтов в процессе игры может? но проверял, неоднократно, все обьекты которые уже ненужны удаляюца
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 17:09   #25
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

и еще есть второс. кто как реализовывает ищезновение крови? альфой пытался, так кровь мигает..
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 17:10   #26
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Уже наболевшее..

думаю ты делаеш так:
cp\ent = LoadSprite("");
т.е. каждый раз грузиш новый спрайт, ну и видеопамяти кирдык. делай копию. CopyEntity
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 17:14   #27
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

точно, спс за идею.)

нащёт ищезновения крови, писал так

alpha=alpha-.05*framePeriod*.01
EntityAlpha w\particle_type,alpha

ну бред получаеца..
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 17:44   #28
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Уже наболевшее..

ну хз. я как то проще делаю:
p\l=p\l-1
entityalpha p\ent,p\l*0.01
например. если время жизни - сто.
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 18:48   #29
Samarik
Оператор ЭВМ
 
Регистрация: 08.02.2007
Сообщений: 47
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Уже наболевшее..

я вобщемнакопировал спрайтов.. и тд. но тормоза сиравно появлюца.. после некоторого время игры вылетает с ошибкой о нехватке памяти..

Последний раз редактировалось Samarik, 17.07.2008 в 19:11.
(Offline)
 
Ответить с цитированием
Старый 17.07.2008, 19:34   #30
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Уже наболевшее..

покажи как добавляеш и как удаляеш спрайты.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про наболевшее - коллизии. DEGABB 3D-программирование 47 10.02.2008 02:37


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com