|
|
|
к Game Developing'у
|
|||
|---|---|---|---|
|
#18+
Всем привет, у меня такой вопрос. Нарисована карта города(текстура), разбита на районы (НЕ ВЫПУКЛЫЕ полигоны). У каждого района должно быть 3 состояния: defaul, pressed, highlightning. Вопрос 1: как отследить факт щелчка мыши не в прямоугольной, а сложной области? Вопрос 2: как соответствующий многоугольник перекрасить, изменить на текстуре цвет(хранить 30 разных текстур для 10 районов?!). Такое в играх часто попадается, может кто сталкивался? P.S. на всякий случай, игра пишется на движке Nebula2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 10:39 |
|
||
|
к Game Developing'у
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 15:34 |
|
||
|
к Game Developing'у
|
|||
|---|---|---|---|
|
#18+
Уважаемый Tracer, спасибо за код, это конечно вариант, но немного не тот. Полигон НЕ ВЫПУКЛЫЙ, значит при его интерполяции придется в массив POINT *pt занести просто чудовищное количество точек, и я не хотел бы быть тем, кто из будет считать:) а вопрос закраски - вообще труба... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 10:26 |
|
||
|
к Game Developing'у
|
|||
|---|---|---|---|
|
#18+
но ведь полигоны уже заданы? и описаны точками? тогда создай отдельный битмап, заполненный этими полигонами. и каждый своим цветом. и когда ведешь мышу - бери цвет пиксела из второго битмапа(полигольного) и по соответствию цвета можешь определить что да как. насчет отрисовки подсвеченного. бери прямоугольник в который вписывается подсвечиваемый прямоугольник и сканируй по полигольному битмапу. если цвет пиксела соответствует выбранному полигону - то на видимом битмапе изменяй цвет пиксела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 13:15 |
|
||
|
к Game Developing'у
|
|||
|---|---|---|---|
|
#18+
TopSpace Алгоритм работает и на не выпуклых полигонах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 19:12 |
|
||
|
к Game Developing'у
|
|||
|---|---|---|---|
|
#18+
Точками полигоны не заданы, все одной текстурой. Насчет определения по цвету - идея супер:) вот закрашивать по пикселям нехото... много вычислений, но видимо таки и придется. спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 10:18 |
|
||
|
к Game Developing'у
|
|||
|---|---|---|---|
|
#18+
Тогда не создавая отдельного топика спрошу: есть кто-нибудь шарящий в эффеках для dx7 (файлы fx). Помогите найти ошибку в эффекте: technique tEnvironment { pass p0 { WorldTransform[0] = <Model>; AlphaRef = <AlphaRef>; CullMode = <CullMode>; MaterialDiffuse = <MatDiffuse>; MaterialEmissive = <MatEmissive>; MaterialAmbient = {1.0, 1.0, 1.0, 1.0}; FVF = XYZ | NORMAL | TEX1; TexCoordIndex[0] = 0; TexCoordIndex[1] = CameraSpaceReflectionVector; Sampler[0] = <DiffSampler>; Sampler[1] = <EnvironmentSampler>; // Base Texture ColorArg1[0] = Texture; AlphaOp[0] = SelectArg1; AlphaArg1[0] = Texture; ColorOp[0] = SelectArg1; // Lighting ColorOp[1] = Modulate; ColorArg1[1] = Diffuse; ColorArg2[1] = Current; AlphaOp[1] = SelectArg1; ColorOp[2] = Disable; AlphaOp[2] = Disable; } } Через MatDiffuse устанавливается цвет, но почему-то не работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 08:37 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33941314&tid=2030617]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
146ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 476ms |

| 0 / 0 |
