SiT3D
offline
Опыт:
1,514Активность: |
Функции чёрт их побери! Передача функций.
Здрасте. Спасибо за предыдущую помощь, много нового узнал. Написал огромную красивую функцию различных типов движения, теперь сижу и думаю зачем = ). В общем, что хочу. Чтобы эта функция возвращала результат завершения. Или чтобы в неё можно было передать имя функции, которую она выполнит по завершению. Пример. Снаряд летит за юнитом, и только тогда, когда его догонит, выполняется определённая функция, задающая, новый тип движения. Моя функция знает когда она завершается, только как это вернуть...с юнитом конечно можно событие создавать. А при прямолинейном движение или равноускоренном, можно получить и подставить результат. Но всё же хотелось бы. Эх. Если нельзя передать такую функцию, то надо думать как красиво это всё отследить. Заранее благодарен =) Отредактировано SiT3D, 30.05.2013 в 18:38. |
30.05.2013, 18:14 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
ну я бы делал так
а вообще сложно что либо сказать ибо хз что вы там натворили |
30.05.2013, 18:39 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
=))) ты как всегда =) я думал о таком, чтобы передавать скажем некий id а потом через if подбирать и выполнять соответствующую, функцию, но это как то, много будет писанины то, я хочу 1й функцией любое движения, для любых объектов описывать =))))) может зря конечно. |
30.05.2013, 18:51 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
что бы вскинуть руки на клавиатуру и все готово - так не будет (ц) диод |
30.05.2013, 18:53 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
А можно скажем сделать так, я знаю что можно но не знаю как точно. В общем есть ряд функций с именами Move_id где id = некому номеру. И через макрос, задавать строку call Move_(переданый номер)
SiT3D добавил:
Как это сделать? SiT3D добавил: а сверху уже нужные функции я то напишу, они по ходу будут создаваться и обдумываться, для разных заклинаний |
30.05.2013, 18:55 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
вы понимаете что хотите динамично подменять код? насколько я знаю, максимум вы можете делать ExecuteFunc по строке, но это бессмысленно в данном случае и ненужно.
показывайте как делаете, чувствуется мне вы там все костылями сделали |
30.05.2013, 18:57 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
Да кстати хэйт извиняюсь, я конечно всё равно считаю, что ты странный. Но всё же спасибо критика помогла мне во многом разобраться, теперь имхо 50% кода надо переписывать =0)))
SiT3D добавил:
та даже без кода, решениие то не в моей системе. SiT3D добавил:
предположим как то так
SiT3D добавил: а если это запилить в библиотеку приватом, то вроде всё хорошо. Если конечно я правильно понимаю, работу этого макроса. |
30.05.2013, 19:03 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
хоспаде, зачем?
еще раз говорю, то для чего вы хотите использовать это, как открывать консервные банки айфоном. и еще раз, покажите то как вы собрались двигать. я абсолютно уверен что делать все через задний проход не нужно |
30.05.2013, 19:08 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
Там много всего опять начнёшь говорить что код не читабелен, спасибушки =) всё работает, всё из нативок, и вроде всё довольно коротко и красиво. Вот конечно последнее может и не так, но я сам разберусь. Когда доделаю, тогда и буду оптимизировать код. Сейчас не надо пож. А на счёт экзекута, значит можно не id а строки передавать, это тоже очень хорошо, даже лучше.
SiT3D добавил:
а на счёт заднего прохода, ну как сказать может и так, но я ещё учусь, и это как то глупо, ругать и возмущаться, что кто-то чего то не умеет. Я тоже могу смеяться с того, что ты форумный задрот, и наверняка хуже меня в спорте, или ещё чтото в этом роде. Зачем? Каждый хорош в своём, главное двигаться, я вот двигаюсь, я учусь, а ты относишься с презрением потому, что я не умею того что умеешь ты... SiT3D добавил: ну или ты просто не умеешь нормально говорить о том, что готов помочь, может сейчас эти эпитеты не столь обидно звучат, но раньше ты явно пытался опустить. Эт так к размышлению, если тоже есть желание учиться. |
30.05.2013, 19:22 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
вы просите помощи, но не идете навстречу, либо вы показываете как делаете и мы работаем дальше, либо вы не показываете его и остаетесь там откуда начали. все просто. насчет "рабочих" решений я уже недавно отписывался , да и если вы сами знаете как лучше то зачем вообще создавать тему и показывать себя королем?
я привык говорить факты, как есть, с презрением я отношусь к результатам какой либо деятельности, а не к самому человеку, умение воспринимать критику и есть успех во многом.
если вы так боитесь критики, ну тогда пишите в личку, какие либо контакты что бы это не было "публичным унижением", яхз |
30.05.2013, 19:28 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
=))))) дак дело не в моём коде, нужна просто функция с 1 строкой вызова, но так чтобы эта 1 строка могла вызвать много разных функций, перебором через if это слишком затратно. Если таких функций будет 3 млн, то через if их точно нет смысла вызывать. |
30.05.2013, 19:37 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
в таком случае смотрим пост номер 4) |
30.05.2013, 19:38 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
так понятно, что требуется? В общем то это и надо было походу.
SiT3D добавил:
я просто никогда не использовал ExecuteFunc потому не сразу сообразил что так можно поступить, обычно я всё call делаю. SiT3D добавил: А вот ещё хотелось бы в хэш запилить строки, ключи. Вместо integer, как строке присвоить уникальное значение, в рамках допустимого числа инт? Может есть такие наработки? |
30.05.2013, 19:46 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
только вот функции вызванные через экзекут не могут принимать ничего, а вы как об стенку бьетесь с костылями. сказал же, что не нужно это вам... |
30.05.2013, 19:50 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
а мне и не надо ничего в них принимать =) они будут просто вызывать функцию движения с нужными настройками, вот и всё
SiT3D добавил:
всмысле в той функции, будут запланированые действия, нужный сценарий, который будет вызывать функцию движения с ручными настройками. Воть как то так =) SiT3D добавил:
или не всё ( я пробну потом отпишусь. =0) SiT3D добавил: передавать если и надо будет. то можно глобалками с них не убудет. |
30.05.2013, 20:02 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
Читаем про boolexpr. И передачу настроек(стек, хт, и тп) |
31.05.2013, 09:10 | #16
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
Читал уже понять не могу ((( |
31.05.2013, 19:54 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
Для начального понимания самые легкие хеш-таблицы, но можно использовать и паралельные массивы... |
31.05.2013, 21:15 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
Sargaraser:
... и структуры) |
31.05.2013, 21:32 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SiT3D
offline
Опыт:
1,514Активность: |
Вы чего, я знаю про массивы и хэш. Короче тема закрыта, я всё уже придумал и сделал. |
01.06.2013, 01:53 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|