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=13963)

MucT 29.12.2010 23:25

Вопрос
 
Вложений: 1
непойму как сделать нечто подобное т.е. даж незнаю как это назвать. там одну клетку занимает нпц, персонаж, моб в общем неважно кто.. можно написать команду и узнать координаты где находишься.. в общем если ктото понял о чём я просьба помочь :''(( над както разграничить карту это позволит допустим при использовании умения бить на растоянии 2-3 клеток эт всё образно

pepel 29.12.2010 23:32

Ответ: Вопрос
 
т.е. тебе нужно сделать невидимую сетку?

Leowey 29.12.2010 23:33

Ответ: Вопрос
 
по ходу да

MucT 29.12.2010 23:37

Ответ: Вопрос
 
если можно поподробней ))

pepel 29.12.2010 23:43

Ответ: Вопрос
 
Вложений: 1
ну я уточнить хотел,т.е. тебе нужно чтото типа этого:

MucT 29.12.2010 23:52

Ответ: Вопрос
 
Вложений: 1
вроде оно!)) над чтобы персонаж перемещался именно из клетки в клетку а не стоял на пересечении (вариант2)

den 29.12.2010 23:57

Ответ: Вопрос
 
Делиш координату х/у игрока на ширину/высоту клетки. Убираеш дробную часть у полученого числа. Умножаеш на ширину/высоту клетки.

pepel 30.12.2010 00:05

Ответ: Вопрос
 
PHP код:

Graphics 640,480,16,2
SetBuffer BackBuffer 
()

Local size=30
 Local x
,y

Repeat

x
=(MouseX()/size)*size
y
=(MouseY()/size)*size

Rect x
,y,size,size,0

Flip
:Cls
Until KeyDown 
(1


RegIon 30.12.2010 07:11

Ответ: Вопрос
 
не могу понять почему не фурычит, вроде всё правильно.

Код:

Graphics3D 640,480,16,2
SetBuffer BackBuffer()
cam=CreateCamera()
PositionEntity cam,4,8,-10
Light=CreateLight()
TurnEntity light,90,0,0

Plan=Createface(10,1)
ScaleEntity plan,10,10,10
s=initsneg(plan)
cube=CreateCube()


Repeat

PointEntity cam,cube
MoveEntity cube,Float(KeyDown(205)-KeyDown(203))/10,0,Float(KeyDown(200)-KeyDown(208))/10
PickSneg(cube,.5,.6)
  UpdateWorld
  RenderWorld
Flip

Until KeyHit(1)

End
Type Sneg
Field Vert%
Field suf
Field sost
End Type

Function CreateFace(segs=1,double=False,parent=0)
        mesh=CreateMesh( parent )
        surf=CreateSurface( mesh )
        stx#=-.5
        sty#=stx
        stp#=Float(1)/Float(segs)
        y#=sty
        For a=0 To segs
                x#=stx
                v#=a/Float(segs)
                For b=0 To segs
                        u#=b/Float(segs)
                        AddVertex(surf,x,0,y,u,v) ; swap these for a different start orientation
                        x=x+stp
                Next
                y=y+stp
        Next
        For a=0 To segs-1
                For b=0 To segs-1
                        v0=a*(segs+1)+b:v1=v0+1
                        v2=(a+1)*(segs+1)+b+1:v3=v2-1
                        AddTriangle( surf,v0,v2,v1 )
                        AddTriangle( surf,v0,v3,v2 )
                       
                Next
        Next
        UpdateNormals mesh
        If double=True Then EntityFX mesh,16
        Return mesh
End Function

Function Initsneg(plan%)
If plan%=0 Return 0
s=GetSurface(plan,1)
p.Sneg=New sneg
p\suf=plan
For i=0 To CountVertices(s)-1
    p\sost=0
        p\vert=i
Next
Return 1
End Function

Function PickSneg(mesh%,l#,Rad#)
For a.sneg=Each sneg
suf=GetSurface(a\suf,1)
vert=a\vert
If VertexX(suf,avert)<EntityX(mesh)+Rad And VertexX(suf,avert)>EntityX(mesh)-Rad
If VertexZ(suf,avert)<EntityZ(mesh)+Rad And VertexZ(suf,avert)>EntityZ(mesh)-Rad
  If a\sost=0
    VertexCoords suf,vert,VertexX(suf,vert),VertexY(suf,vert)-l,VertexZ(suf,vert)
        a\sost=1


EndIf
EndIf
EndIf
Next
End Function

этот код, делает типа провала снега

pepel 30.12.2010 13:23

Ответ: Вопрос
 
Костян а зачем в этой теме свой вопрос писать?

pax 30.12.2010 16:11

Ответ: Вопрос
 
Цитата:

Сообщение от pepel (Сообщение 173743)
Костян а зачем в этой теме свой вопрос писать?

Потому что название темы "Вопрос" ;)

RegIon 31.12.2010 05:41

Ответ: Вопрос
 
Цитата:

Потому что название темы "Вопрос"
Правильно. Ещё вопрос: а кто мне 3 бала в полезно поставил, а то в кобинете не видно
(можно не отвечать)

den 31.12.2010 14:48

Ответ: Вопрос
 
Цитата:

Сообщение от Костян (Сообщение 173882)
Правильно. Ещё вопрос: а кто мне 3 бала в полезно поставил, а то в кобинете не видно
(можно не отвечать)

http://forum.boolean.name/search.php?searchid=394541

RegIon 01.01.2011 11:43

Ответ: Вопрос
 
Не пашет.

den 01.01.2011 11:50

Ответ: Вопрос
 
1) Нажми на своё имя (которая над аватаркой слево от твоего поста).
2) Нажми на "Найти все полезные сообщения от Костян".
3) PROFIT!!!


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

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