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

TEHb08 08.01.2009 21:05

Возврат значений от функций
 
Народ а реально от функции вернуть несколько значений ?
как вернуть
builddom = 1
menushop=0
из функции
Код:


Function buildvibor$(curpoint,obj,objvidel,x,y)

DrawImage obj,GraphicsWidth()/4+x,GraphicsHeight()/4+y
 If ImagesCollide (curpoint,MouseX(),MouseY(),0,obj,GraphicsWidth()/4+x,GraphicsHeight()/4+y,0) = 1

  If MouseHit(1)
  builddom = 1
  menushop=0
 
  Else
  DrawImage objvidel,GraphicsWidth()/4+x,GraphicsHeight()/4+y
 
  EndIf
 Else

 EndIf

return builddom
return menushop

End Function


mr.DIMAS 08.01.2009 21:30

Re: Возврат значений от функций
 
неа, return сразу разрушает стек и возвращает указанное значение, и передает управление другим операциям. мона возвращать сумму значений :-)

TEHb08 08.01.2009 21:43

Ответ: Re: Возврат значений от функций
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 94099)
неа, return сразу разрушает стек и возвращает указанное значение, и передает управление другим операциям. мона возвращать сумму значений :-)

ну это понятно
мне просто нужно два значения вывести в разные переменные

impersonalis 08.01.2009 21:50

Ответ: Возврат значений от функций
 
Возвращай тип данных
Код:

Type Inf
        Field a
        Field b
End Type

Function CoolFunc.Inf(a%,b%)
        I.Inf=New Inf
        I\a=a
        I\b=b
        Return I
End Function

Причём контейнер-интерфейс не обязательно создавать внутри функции при каждом вызове - т.к. все эелменты типа создаются глобально, то достаточно передать этот элемент или его дескриптор (ближайшая аналогия - передача по ссылке и передача через указатель (ФП)).

TEHb08 08.01.2009 22:08

Ответ: Возврат значений от функций
 
Спасибки

ABTOMAT 09.01.2009 02:17

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

SBJoker 09.01.2009 02:53

Ответ: Возврат значений от функций
 
В современных языках без проблем можно возвращать значение через параметры.

impersonalis 09.01.2009 02:54

Ответ: Возврат значений от функций
 
Цитата:

Сообщение от SBJoker (Сообщение 94167)
В современных языках без проблем можно возвращать значение через параметры.

.ну:
Цитата:

достаточно передать этот элемент или его дескриптор (ближайшая аналогия - передача по ссылке и передача через указатель (ФП)).

TEHb08 09.01.2009 16:45

Ответ: Возврат значений от функций
 
спасибки я уже по другому зделал не множко изменил функцию что теперь не нужно возыращать много значений +)

TEHb08 09.01.2009 16:51

Ответ: Возврат значений от функций
 
у кого какие мысли есть по созданию космоса(звезды каметы пыль)
например создаем звезды

но лаги жеть играть не возможно +(
Код:

Dim star(500000)
For i=1 To 500000
star(i)=LoadSprite("Data/space/star.png")
PositionEntity star(i),Rnd(-100000,100000),Rnd(-100000,100000),Rnd(-100000,100000)
Next


impersonalis 09.01.2009 17:01

Ответ: Возврат значений от функций
 
1)жесть
2)не лоадь а копь (copy)

HolyDel 09.01.2009 17:12

Ответ: Возврат значений от функций
 
1) мегажесть
2) не копи, и уж тем более не load, а AddVertex, AddTriangle, PositionVertex. Хотя лучше всего конечно просто сферу затекстурить звездным небом.

TEHb08 09.01.2009 17:34

Ответ: Возврат значений от функций
 
Цитата:

Сообщение от HolyDel (Сообщение 94212)
1) мегажесть
2) не копи, и уж тем более не load, а AddVertex, AddTriangle, PositionVertex. Хотя лучше всего конечно просто сферу затекстурить звездным небом.

Не сферу затекстурить будет не красиво так как корабль летит по космосу и мыль должна мимо пролетать и звезды должни приблежаться

NitE 09.01.2009 18:19

Re: Возврат значений от функций
 
ну 500к полюбому жирно будет... те надо сделать чтобы звезды появлялись и исчезали когда игрок летит... короче смотри проекты на б3д - новогодний шутер, там и исходник (у меня там снег таким образом сделан)

TEHb08 09.01.2009 19:01

Ответ: Re: Возврат значений от функций
 
Цитата:

Сообщение от NitE (Сообщение 94227)
ну 500к полюбому жирно будет... те надо сделать чтобы звезды появлялись и исчезали когда игрок летит... короче смотри проекты на б3д - новогодний шутер, там и исходник (у меня там снег таким образом сделан)

щя глянем я уже тонну инфы перебрал пока не чего дельного нету +(

mr.DIMAS 09.01.2009 21:39

Re: Возврат значений от функций
 
EntityAutoFade entity,near#,far#

TEHb08 09.01.2009 22:41

Ответ: Re: Возврат значений от функций
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 94265)
EntityAutoFade entity,near#,far#

я уже зделал
зделал что бы пыль создавалась во круг игрока на определенном расстоянии и определенное кол-во звезд
а если дистанция больше то звезда удаляется

TEHb08 15.01.2009 20:19

Ответ: Возврат значений от функций
 
все хотел написать но забывал,
что бы вернуть много значений с функции
не каких циклов не нужно просто объявить все выводимые значения меткой Global и из функции можно хоть 200 значений вернуть
проверено

impersonalis 15.01.2009 20:49

Ответ: Возврат значений от функций
 
Цитата:

не каких цикло в не нужно просто объявить все выводимые значения меткой Global и из функции можно хоть 200 значений вернуть
:vomit: :to_babruysk:
от таких функций толку как от подпрограмм, а там и до нефункционального проганья и "ГоТо-форева" недалеко

NitE 15.01.2009 21:02

Re: Возврат значений от функций
 
я вот кстати никогда не использовал гото, более того даже не представляю как им пользоватся и вообще что это... и живу хорошо )))

ABTOMAT 15.01.2009 21:30

Ответ: Возврат значений от функций
 
TEHb08
Насчёт звёзд - делай синглсурфейсные их
(ХолиДел написал выше постом как делать)
Но тут придётся подучить тригонометрию

jimon 15.01.2009 21:34

Ответ: Возврат значений от функций
 
TEHb08
такой способ противоречит безопастности

Код:

global some_var%

function a1()
...
end function

;должно быть some_var = a1(), но пишем :
a1()

function a2()
; a2 не должна иметь возможность поменять some_var, хотя спокойно может это сделать
end function

a2()


TEHb08 15.01.2009 21:37

Ответ: Возврат значений от функций
 
Цитата:

Сообщение от impersonalis (Сообщение 94858)
:vomit: :to_babruysk:
от таких функций толку как от подпрограмм, а там и до нефункционального проганья и "ГоТо-форева" недалеко

на счет гото я не когда не пользовался им +)

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

impersonalis 15.01.2009 21:39

Ответ: Возврат значений от функций
 
Цитата:

Сообщение от TEHb08 (Сообщение 94866)
... зачем писать тонну циков если все можно решить глобальной переменной

Где здесь тонны циклов?
http://forum.boolean.name/showpost.p...08&postcount=4

HolyDel 15.01.2009 21:50

Ответ: Возврат значений от функций
 
между прочем global переменные в разы тормазнее локальных. не знаю почему.

Sleepybear 29.06.2009 14:02

Ответ: Возврат значений от функций
 
Можно вернуть из функции строку? (Что то глючит, или комп, или моСК)

IGR 29.06.2009 16:10

Ответ: Возврат значений от функций
 
может ты забыл указать тип параметра который она будет возвращять ??
function func$ ()
....
return a$
end function

Sleepybear 29.06.2009 16:25

Ответ: Возврат значений от функций
 
Мозг Заглючил, бывает :)


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

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