22.06.2012, 16:18
|
#6
|
ПроЭктировщик
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений (для 71 пользователей)
|
Ответ: создание записи во втором типе через первый
Вот разобрался ...
Код -ответ на свой вопрос :
Global mx , my ,ab.hero
Type hero ;второй тип
Field x ,y
End Type
Type map ;первый тип
Field ab.hero
Field x ,y ; ab.tsecond - ссылка на второй тип
End Type
Graphics 800,600
SetBuffer BackBuffer()
mx = MouseX() : my = MouseY()
q.map=CreateMap() ;создание записи в первом типе
;q\d= 4
q\ab.hero =CreateHero() ;создание записи во втором типе через первый
;q\ab\f= 1
While Not KeyHit(1)
Cls
;If KeyHit(3) Then
If KeyHit(2) Then q\ab\x= q\x : q\ab\y= q\y
For w.map=Each map
If MouseDown(1)Then
w\x =MouseX()
w\y =MouseY()
w\ab\x = w\x ; присвоение значения первого типа второму
w\ab\y = w\y ;
EndIf
If MouseDown(2)Then
w\ab\x = MouseX()
w\ab\y = MouseY()
EndIf
Text w\x,w\y,"q\x - "+w\x+" | w\y - "+w\y ;вывод значений x и y
Text w\ab\x,w\ab\y+10, "q\ab\x - "+w\ab\x+" | w\ab\y - "+ w\ab\y
Next
Flip
Wend
Delete Each hero
Delete Each map
End
WaitKey()
Function CreateMap.map()
Local pff.map= New map
pff\ab.hero = Null
pff\x = 400
pff\y = 200
Return pff
End Function
Function CreateHero.hero()
Local ab.hero= New hero
ab\x= Rnd( 100,600)
ab\y= Rnd( 100,400)
Return ab
End Function
|
(Offline)
|
|