레벨 포인트 프로그레스바를 구현하고 있습니다.

레벨 포인트 프로그레스바를 구현하고 있습니다.

QA

레벨 포인트 프로그레스바를 구현하고 있습니다.

본문

다른건 다 됐지만 백분율을 구하는 것에서 막히고 있습니다.

 

(필요포인트/현재포인트)*100

 

위 수식을 쓴다면 백분율을 구할 수 있습니다.

 

다만 보유하고 있는 포인트가 증가할수록 필요포인트는 줄어들고 현재포인트는 늘어나서

 

유동적으로 백분율도 작아집니다.

 

하지만 만드려는 기능은 포인트 프로그레스바이기 때문에 백분율(%)이 작아지면 안되고

 

다음 레벨까지의 필요한 총 포인트에 맞춰 보유하는 포인트가 증가할수록 백분율도 증가해야합니다.

(최대 100%)

 

가지고 있는 변수는 아래와 같습니다.

 

현재 포인트
다음 레벨까지 필요한 포인트
다음 레벨이 되는 맥스 포인트

 

간단한 사칙연산으로 어떻게 수식을 세워야 위와 같은 백분율로 동작하게 할 수 있을까요?

이 질문에 댓글 쓰기 :

답변 3

예를들어

 

1레벨 => 2레벨 => 3레벨 => 4레벨

0          100           1000       3000

이라고 가정하고

현재 300포인트일때

다음레벨은 1000포인트이지만

현재 레벨구간에서 적용되는 포인트는 900 포인트이고

내가 현제 레벨에서 취득한 포인트는 200 포인트라서

200/900 이면 현재 레벨에서 취득한 비율이고

(900-200) / 900 이면 남은 비율이 됩니다.

 

200이란 점수는 = 내포인트(300) - 전레벨Max값 100 

900 이란 점수는 = 현재구간Max - 전레벨Max 

가 됩니다.

이값을 가지고 현재 레벨의 남은 비율을 판단하면됩니다.

 

현 레벨에서 취득한 점수비율을 계산하려면 200/900 * 100 

현 레벨에서 남은 점수비율을 계산하려면 (900-200)/900*100 

 

아래사이트 참고해보세요.

 

https://mygumi.tistory.com/293

 

https://www.codingfactory.net/11010

 

 

프로그레스바를 구현하는 방법의 질문이 아닌
수식을 어떻게 세워야할 지 몰라서 드리는 질문입니다 ㅜㅜ

프로그레스바는 이미 구현됐어요..!
다른 거 다 필요없이 딱 숫자(백분율%)만 구현하면 끝이라서요..

수식값이 좀 이상한듯 한데요

 

현재포인트 / 필요포인트 * 100 을 해야 하는거 아닌가싶네요

 

그래야.. 달성포인트에 도달하기 위한 현재 몇 %인지 확인가능하고

다 도달되면 레벨업(?) 등의 행위에 의해 다음목표(필요포인트)가 등장하는 개념인것 같은데..

 

넵 맞습니다 그런데 그렇게 수식을 적용해야하는 것이 아니고
현재 포인트가 늘어나고 필요 포인트가 줄어들면 백분율도 줄어드는데
현재 포인트가 늘어나고 필요 포인트가 줄어들수록 백분율을 최대 100%를 목표로 증가되도록 하고싶습니다.

필요포인트에 도달하게하려면

현재 레벨의 포인트취득을 하여야하니

마찬가지로

현재필요 레벨 필요포인트 = 레벨포인트Max값 - 전레벨Max포인트
현재레벨의취득포인트 = 현재포인트 - 전레벨Max포인트

와 같이 계산해서 남은 잔여 비율을 표기하시면
위에 처음생각하신 방식으로 계산에 대입하면 될듯합니다.

현재필요 레벨 필요포인트
현재레벨의취득포인트

-------------------------------

댓글 주신 거 보고 10분 생각 해봤는데..
위 포인트 종류를 무얼 말씀하시는지 이해가 안됐습니다

필요 포인트는 다음 레벨이 되는 포인트가 들어가야하는 게 맞지않나요??

제가 가지고 있는 변수의 내용은 이렇습니다

현재 포인트 (말 그대로 현재 포인트)
다음 레벨까지 필요한 포인트 (현재 포인트 - 다음 레벨이 되는 포인트)
다음 레벨이 되는 맥스 포인트 (말 그대로 다음 레벨이 되는 포인트)

감이 안옵니다 선생님..

현재 포인트 / 다음 레벨에 도달할 수 있는 고정 값 포인트 * 100

위 수식에서 고쳐야될 것 같은데 어떻게 해야할까요..
다음 레벨이 되면 포인트는 초기화되는 개념이 아니라 높은 수치부터 시작하게 됩니다 ㅠ(80~90%)

이걸 0%부터 시작하게 하려면 어떻게 해야할까요..

답변을 작성하시기 전에 로그인 해주세요.
전체 530
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT