Итак, у меня есть 3 строки (технические патчи), которые имеют прозрачность. Эти строки были сгенерированы с помощью исправления FEX. Запись FEX отлично работает, делая патчи похожими на строки, добавляя NaN к концу данных, чтобы он не создавал большой черный патч между конечными точками моей линии.В MATLAB невозможны прозрачные прозрачные линии?
Моих строки выглядят так
__ __
\ /
_ \ /_
\ \__//
\______/
Патч проходит от левого конца точки к правой конечной точке по прямой линии в верхнем, а затем следует линии на дне. Фактический патч скрыт (не нарисован), хотя все, что видит пользователь, это строки
Проблема в том, что если бы я хотел щелкнуть нижний горб верхней строки, он действует, как я нажал на нижнюю строку, потому что это часть этого патча.
Я подумал о нескольких обходных решениях и надеялся, что вы, ребята, можете указать на недостатки или добавить идеи, которые я, возможно, пропустил с помощью своих обходных решений.
Обход # 1
В идеале я хотел бы создать реальную линию (серия линии OBJ.) По сравнению с прозрачными линиями. Я бы повернул hittest на патчах, и я сделаю фактическую линию невидимой, но поверните hittest дальше. Проблема, на которой я на 99% уверен, что если visibilty выключен, вы не можете щелкнуть объект. Если кто-то имеет дело с этой проблемой (документально или иначе), это было бы здорово.
Обход # 2
Включите patchline Трассировка свойство выключено. Сделайте mock line objs. которые следуют за кусочками лазейки. и имеют ширину линии очень очень маленькую, чтобы сделать линию идеально красивой и невидимой, и вместо этого кликнуть на эти строки попали в эти строки. Кто-нибудь раньше пробовал что-то подобное? (Я на работе и не попробовать его сейчас)
Обход # 3
ВНИМАНИЕ, ЧТО Я ДЕЙСТВИТЕЛЬНО НЕ ХОЧУ СДЕЛАТЬ ЭТО Это, конечно, можно отключить HitTest для патча/линии Objs и используйте осей buttondown, чтобы выяснить, какой патч obj (только часть строки) был ближе всего.
Еще раз, любое понимание будет высоко ценятся как о моей возможной обходной работе, ситуация в целом и т.д.
Спасибо, Shaun
Создайте два пятна, один для верхней линии и один для нижней один? Если у меня что-то не хватает, предоставьте код и ссылку на отправку FEX. – Oleg
Вот запись FEX: http://www.mathworks.com/matlabcentral/fileexchange/36953-patchline/content/patchline.m И проблема в том, что у меня есть несколько патчей, и они частично перекрываются в некоторых случаях. .. Хотя я задаюсь вопросом, могу ли я привести его к вершине больше, чем другие. – Shaun314