Показать сообщение отдельно
Старый 22.06.2012, 16:18   #6
polopok
ПроЭктировщик
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (22.06.2012)