Трябва ми нещо бързо и максимално просто за много елементарен дизайн - селектиране и местене на обекти по прозореца. Платформено независимо. Сещате ли се за някъв готов код или да се мъча с глупости :(
Айде тоя път пиши по-бавно, и по-убаво. zerocoding ли искаш, figma, или кво по дяволите? Дори за LabVIEW се сетих.
Не се мучи с глупости бе дебел, сложи си едно кюфте
Реба Създадено на 28.05.2024, видяно: 360 пъти. #107101
аз съм изписал доста мини редактори със стандартна функционалност (селекция, местене/въртене,копи/пасте, ундо/редо и тн...) скептичен съм нещо че ще има удобен фрамеворк. само селектиране и местене е фасулски просто, но винаги става така че само това не е, и простото става сложно и по-лошото става зависимо от същината на обектите. имам предвид това - решението "сферични пилета във вакуум" е с точково представяне, но е потребителски грозно, всеки иска да захваща обектите по видимото им представяне, а не по представителна точка. да не говорим че освен грозно става и проблемно когато точките на два обекта съвпадат, въпреки че обектите са ясно различими, тогава потребителя ще те псува на майка. така че 100% ти трябва ръчна имплементация на ОбектПоТочка() и моя опит показва че ей тая част е много по-сложна от самата селекция и местене. мислил съм за унифицирано решение с двойно изчертаване - имаш буфер за ИДта и рисуваш както на екрана така и в него, но и това създава бая проблеми. все пак ако има фрамеворк вероятно ще се базира на тоя подход, но тъй като ти ще ползваш и готова библиотека за изчертаване реализацията му ПАК ще е хуй
Е качи нещо в гитхъба де.
Да, ще ми трябват и стрелки като във визиото и прочие тулове за диаграми и още евентуално други неща.
Става и по баундинг бокса, мен в поечето случаи това ми е достатъчно
Абе явно ще трябва да се занимавам с глупости, преди да мина към същинската реализация, деба
Варианти бол. Кажи първо за каква платформа ти трябва и горе долу какво искаш да правиш - диаграми? Кад? Гуи?
През годините съм ги правил всите като започнеш с мое си гуи на ц++ за дос където всичко се чертае точка по точка, за виндовс с Ц#, за хтмл с ноде.йс … всяко решение си има спецификите
Аз ли съм тъп - толкоз ли няма нещо готово? Покрай ганорника съм рисувал на поне 10 различни вида правоверни СКУМ-аджийски тулчета. Чак на PowerPoint съм им правил презентации, щото в НБУ са се закотвили дотам.
Реба Последно редактирано на 28.05.2024 от Дон
Реба, видяно: 336 пъти. #107110
бб е приемлив вариант да, макар че за повечето редактори не става и едва ли ще намериш готов фрамеворк базиран на бб.
те тия глупости обикновено са по-важни от "същинската реализация", таблото на колата е по-важно от кубици и цилиндри на двигателя, има доста дребни детайли дето почти със сигурност новобранците ги пропускат и интерфейса става дразнещ. например като цъкнеш обект той да се премести нежелано така че центъра му да дойде точно под мишката - класика в жанра "влачене на обект". и един съвет, който чак наскоро осъзнах - ако ще имаш ундо/редо, прави записа СЛЕД промяната а не преди нея, както "здравия разум" диктува. това е тотално нелогично, и затова го осъзнах чак на дъртини ама кво да прайш.
Reba, като се влачи обект, преместването трябва да е точно толкова колкото е преместена мишката от граб до дроп - така няма значение къде си го грабнал ... това с центриране под курсора е пълна дивотия и анти патърн.
Реба Създадено на 28.05.2024, видяно: 323 пъти. #107116
когато влачиш обект така или иначе ти решаваш къде да го пуснеш, и ще го направиш където трябва, така че на пръв поглед е все тая, особено като се отчете че не винаги разполагаш с "оригинала" на обекта това "от драг до дроп" не е тривиално да се направи. работата е друга - във уиндоуса получаваш WM_MOUSEMOVE дори когато няма никакво преместване на мишката, така че дори обикновен клик ще ти активира "местене" и от там една камара глупости - фалшиво маркиране като модифициран, излишен ундо запис, и разбира се тоя нежелан "скок" към мишката
Е, то навсякъде събитията от мишката са такива. Затова се слага някакъв трешолд за време и разстояние за да се различават влачене от обикновено кликане. Това е отдавна решен проблем.
Относно влаченето - като се влачи обекта точката която първоначално си я грабнал с мишката трябва да си седи под мишката - всичко друго е не интуитивно и дразни хората. Затова казвам, че обекта трябва да се премести с толкова колкото е разстоянието между драг и дроп. Това е съвсем различно от центъра на обекта да отиде на дроп координатите.
За HTML най доброто май беше D3 - https://d3js.org
Реба Създадено на 08.06.2024, видяно: 226 пъти. #108722
току що забелязах че бамбу лаба, мастит и много използван софтуер за 3д принтери, го прави точно това. когато избереш инструмент "местене" и кликнеш върху някоя ръкохватка, обекта видимо се премества защото ръкохватката се "намества" по мишката. иначе извън тая част бамбуто изглежда добре, определено не са го писали аматьори, тоест тия "тривиалните" капани ловят и мастити професионалисти.
Абе да ти кажа, така като гледам, май чистото js+css с малко код ше свърши работа.