forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

dsd 16.06.2011 23:03

Ответ: Вопрос-Ответ (для новичков)
 
Если я пишу программу:

бла-бла
dim моймассив#(1)

бла-бла-бла
dim моймассив#(dimmension1,dim2,dim3)

оно компилить не хочет. Говорит: error duplicate identifer.

Если пишу:

бла-бла-бла.
dim моймассив#(1)

бла-бла-бла
end

function бу-бу-бу
dim моймассив#(dimmension1,dim2,dim3)
бла-бла-бла
end function
говорит тоже самое...
Может это особенность ide visual blitz?

NitE 17.06.2011 00:10

Ответ: Вопрос-Ответ (для новичков)
 
Нельзя менять количество измерений массива.

dsd 17.06.2011 00:55

Ответ: Вопрос-Ответ (для новичков)
 
Nite, мегасэнкс. Заработало. Теперь буду изврашаться с криволенейной направляющей и динамической образующей. Это будет жесткая функция:-)

dsd 18.06.2011 01:02

Ответ: Вопрос-Ответ (для новичков)
 
В общем решил я организовать вращение меша при помощи неведомой хрени явившейся мне во время заливки стяжки. Этакий ротэйтмеш только посредством вычислений новых координат точки в зависимости от пары углов. И ладно бы если бы ничего не получилось. Довольно легко получилось нечто вращающее меш вокруг одной оси правильно. При использовании двух углов начинает плавно корежить меш изгибая его по краю формой подозрительно похожей на синусоиду.
Это оно мне как бэ намекает, что косяк в вычислениях новых координат точек, в исходных данных или и там и там?

А с утра мой код стал мне напоминать попытку повернуть вектор вокруг начала координат наощупь. А неведомая хрень явно считается иначе :-).

dsd 19.06.2011 01:28

Ответ: Вопрос-Ответ (для новичков)
 
Хм... Интересно это векторное вращение меша? В общем так или иначе, но я прошел этот квест:)

Код:

Function VectorRoller(selectedmesh,alfa#,beta#,gama#)

surf=GetSurface(selectedmesh,1)
qverts=CountVertices (surf)

If selectedmesh<>controlofmeshidentity RuntimeError "Oopps, I'm trying to do something very wrong ^__^. Mmm... I meant that sourcemesh and preapered data is different. It's a fatal error :D."

For i=0 To qverts-1

;for simulation rotateentity
;x0#=saveddata#(i,0)
;y0#=saveddata#(i,1)
;z0#=saveddata#(i,2)

;for simulation turnentity
x0#=VertexX(surf,i)
y0#=VertexY(surf,i)
z0#=VertexZ(surf,i)

;alfa vocrug z
x1#=x0#*Cos(alfa)+y0#*Sin(alfa)
y1#=-x0#*Sin(alfa)+y0#*Cos(alfa)
z1#=z0#

;beta vokrug x

x2#=x1#
y2#=y1*Cos(beta)+z1*Sin(beta)
z2#=-y1*Sin(beta)+z1*Cos(beta)

;gama wokrug y
x3#=x2*Cos(-gama)+z2*Sin(-gama)
y3#=y2
z3#=-x2*Sin(-gama)+z2*Cos(-gama)

VertexCoords surf,i,x3,y3,z3

Next
UpdateNormals selectedmesh;it makes this function in two times slower
End Function


Nex 09.07.2011 05:50

Ответ: Вопрос-Ответ (для новичков)
 
Вложений: 1
Помогите с реализацией пошагового боя. :)
Я начал делать, когда у юнита заканчиваются очки действий происходит переключение на следующего, но "следующий" юнит никак не реагирует хотя вроде бы в коде все правильно сделал. :(

WhiteBlack 09.07.2011 19:10

Ответ: Вопрос-Ответ (для новичков)
 
а есть ли функция для рисования прямой в 3D пространстве?
или же надо использовать surface

NitE 09.07.2011 21:22

Ответ: Вопрос-Ответ (для новичков)
 
Nex, попробуй заюзать другую реализацию А*

Nex 10.07.2011 18:08

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от NitE (Сообщение 194877)
Nex, попробуй заюзать другую реализацию А*

Мля. Это самая нормальная что я нашел на Блитз. Есть еще наработка волнового алгоритма, но там я не вкурил как данные загнать к примеру в массив и потом их из массива использовать. =/

RegIon 11.07.2011 14:35

Ответ: Вопрос-Ответ (для новичков)
 
Код:

    For unit.unit = Each unit
        If gGameStarted = True And unit\pathAI = userControlled Then
          If unit\selected Then
                unit\oldX% = unit\xLoc
                unit\OldZ% = unit\yLoc

                walkability (unit\xLoc,unit\yLoc) =1
                If unit\xLoc <> unit\oldX Or unit\yLoc <> unit\oldZ Then walkability (unit\oldX,unit\oldZ) = 0
   
   
        ;    Player control

            PositionEntity unit\ent,unit\xLoc*MapScale,EntityY (unit\ent),unit\yLoc*MapScale
           
            If unit\action_points =0 Then
                For unit2.unit = Each unit
                ;    If unit\id+1 = unit2\id Then
                        unit2\selected = True
                        unit\selected = False
                    ;EndIf
                Next
                ;FreeBank unit\pathBank
                ;FreeEntity unit\ent
                ;Delete unit   
            EndIf
           
            If unit\xPath <> unit\oxPath Or unit\yPath <> unit\oyPath Then unit\action_points = unit\action_points -1 ;отнимаем очки действий
            unit\oxPath = unit\xPath
            unit\oyPath = unit\yPath
        EndIf
    EndIf
Next

нет действия для второго юнита....
сложно код построен....

KingMaks 21.07.2011 15:41

Ответ: Вопрос-Ответ (для новичков)
 
как в PhysX wrapper телу отключить коллизию с другими телами, но при этом оставить коллизию со статикой?

NitE 21.07.2011 16:34

Ответ: Вопрос-Ответ (для новичков)
 
Группы смотри.

Gector 21.07.2011 16:56

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Мистер Розовый (Сообщение 196401)
как сделать hp в блице?

Смешно до слез прям... Ты смотри. А то забанят.

LLI.T.A.L.K.E.R. 27.07.2011 21:04

Ответ: Вопрос-Ответ (для новичков)
 
Делаю 3Д-змейку..
Встала ненужная проблема!
При копировании (а так же и загрузки нового) меша
Код:

Snake\body=CopyMesh(Snake_main_body)
на месте остаётся бесхозная копия.. Доступ к ней не могу найти!
Т.е. Snake\body - то что мне нужно и я могу им управлять.
А вот CopyMesh(Snake_main_body) (думаю что это) остаётся на месте как осадок..
На Hide ни Free ни Delete не могу использовать, так как не знаю что это такое остаётся.

А заготовка змейки у меня хорошая! Делаю на конкурс IGDC. Сам с нуля писал, так как так легче.

RBK 27.07.2011 21:19

Ответ: Вопрос-Ответ (для новичков)
 
Удали его так
PHP код:

FreeEntity Snake_main_body
Snake_main_body 


или сделай его невидимым если он нужен
PHP код:

HideEntity Snake_main_body 



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

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