-
스티커 중앙 자석효과 방법론개발 2022. 4. 19. 18:49
1.
2.프로세스
3.-1 좌표 설정
/** * 중앙 */ //움직이는 스티커 영역 Offset stickerOffset = Offset( __offset.dx + (widget.stickSize / 2), __offset.dy + (widget.stickSize / 2)); //스티커 중앙 영역 Offset true_centerOffset = Offset( (widget._stickController.imageWidth.value / 2), (widget._stickController.imageheight.value / 2)); //그리는 영역이 왼쪽위 부터 시작하기떄문에 최종 위치는 스티커 사이즈맞고 이동 Offset final_centerOffset = Offset( (widget._stickController.imageWidth.value / 2) - widget.stickSize / 2, (widget._stickController.imageheight.value / 2) - widget.stickSize / 2); var standardCenterRect = Rect.fromCenter( center: true_centerOffset, width: widget.stickSize, height: widget.stickSize); /** * 중앙 */ if (standardCenterRect.contains(stickerOffset)) { LineAssistantManager(stickerOffset, true_centerOffset, final_centerOffset); } else { widget._stickController.isCenter.value = false; } }
3-2 로직
LineAssistantManager(Offset stickerOffset, Offset true_StandardOffset, Offset Standard_finalCenterOffset) { if (standartMoveInCounter == 0) { preMoveOffset = stickerOffset; curMoveOffset = stickerOffset; standartMoveInCounter++; } else if (standartMoveInCounter < 90) { // print("centerCounter:" + standartMoveInCounter.toString()); curMoveOffset = stickerOffset; double distance = (preMoveOffset - true_StandardOffset).distance; //print("distance:" + distance.toString()); if ((distance >= 0) && (distance <= 20)) { //중앙 부근에서 정밀 조절 preMoveOffset = curMoveOffset; standartMoveInCounter++; } else { //중앙부근에서 급격하게 이동 standartMoveInCounter = 0; preMoveOffset = Offset(0, 0); curMoveOffset = Offset(0, 0); widget._stickController.isCenter.value = false; } } else { widget._stickController.isCenter.value = true; // print("이동:" + standartMoveInCounter.toString()); standartMoveInCounter = 0; preMoveOffset = Offset(0, 0); curMoveOffset = Offset(0, 0); _offset = Standard_finalCenterOffset; Vibrate.feedback(FeedbackType.impact); isMoveLock = true; stickerDelay(); } }
'개발' 카테고리의 다른 글
이슈 발생:이미지 크기 재설정 (다른 폴더 이미지 파일) (0) 2022.05.19 외곽선 자석효과 방법론 (0) 2022.04.20 이미지 크기별로 캡쳐 방법론 (0) 2022.04.18 STICKER 구현 방법론 (0) 2022.04.18 사진 흑백 컬러필터 및 적당히 잘라서 보여주기 (0) 2022.04.17