?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

안녕하세요... 모르는게 있어 질문드립니다....

 

 

 

 

기본 변수 메소드 - $gameVariables.setValue(value,n)

셀프 변수 플러그인 - this.get_self_variable(name,n)

 

 

 

 

질문드리는 식은 아래 초록색 식입니다.

 

for (var i = 0; i < 100; i++) {

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", i))

}

 

 

 

 

이렇게 썻는데 실행하면 작동은 되는데 게임상에서는

 

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 1))

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 2))

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 3))

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 99))

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 100))

 

이렇게 표시나요?

 

 

 

 

 

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 1~100))

아니면, 빨간색갈 부분의 숫자만 바뀌나요 ..................?

 

 

 

 

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

 

 

 

 

 

$gameVariables.setValue(146, 이곳에)

 

위의 식의 '이곳에'라는 곳에 아래의 식을 다 더해서 넣어주고 싶습니다...

물론, 노가다로 1부터 100까지 직접 작성하는 방법이 있지만,

for문이나 어떠한 요약식으로 요약하여 1~100을 쉽게 더하는 방법이 있는지 질문드립니다... ㅠㅠ

 

this.get_self_variable("병렬처리대상", 1)

this.get_self_variable("병렬처리대상", 2)

this.get_self_variable("병렬처리대상", 3)

.

.

.

this.get_self_variable("병렬처리대상", 99)

this.get_self_variable("병렬처리대상", 100)

 

어떻게 써야 1~100까지 위의 문장을 반복해서 더해줄 수가 있을까요?

 

$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 1) + .................... + this.get_self_variable("병렬처리대상", 100))

 

이런 느낌입니다...

 

도와주세요 ㅠㅠ

?
  • profile
    lklslel 2016.12.17 11:12
    흐음... 진부한 설명은 컴퓨터나 하드웨어 관련 학과의

    자료구조나 알고리즘에 대해서 이야기를 해야하겠지만요...

    그런 말을 하면 괜시리 머리만 아파오는 것이 알반적이니

    알기 쉽게 말을 풀어서 설명해드리겠습니다.

    모든 loop(반복)구문들은 { }(대괄호 : 구문의 처음과 끝을 구분짓는 기호)을

    기준으로 한 번씩 반복을 합니다.



    for (var i = 0; i < 100; i++) {

    $gameVariables.setValue(146, this.get_self_variable("병렬처리대상", i))

    }



    직접 작성하신 부분을 예로 들자면

    실행 순서는 다음과 같이 됩니다.

    (그냥 적힌 문자열의 순서대로 설명해드립니다.)


    1. 실행할 구문 : for

    -> 실행할 구문에 따라 실행하는
    방식이 다르므로 반드시 읽습니다.


    2. 현재값 : i = 0~99

    -> (초기값 0, ++연산으로 }이후에 1만큼 증가)


    3. 실행 임계 조건 : i < 100

    ->i 가 100보다 작을 때 실행됩니다.
    i 가 100이 되면 for(){} 의 구문의 실행은 하지 않습니다.


    4. 변수 값 조정부분 : i++ (after increase)

    -> for(){}가 한번 실행되고 나서 마지막으로 실행됩니다.


    5. 구문 내부 읽기 시작 : {

    -> { 괄호의 시작기호 - ( / [ / { - 를 만나면

    어떤 구문이라도 안에 있는 내용을 우선시합니다.


    6. 구문 내부 실행부분 : $gameVariables.setValue(146, this.get_self_variable("병렬처리대상", i));


    7. 구문 내부 읽기 종료 : }



    실상적인 구문의 실행은 다음과 같습니다.



    for문이 처음 실행될 때


    for (0; 0 < 100; 0++) {

    $gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 0))

    }


    ....



    for문이 100번째 실행될 때


    for (99; 99 < 100; 99++) {

    $gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 99))

    }



    for문이 종료될 때


    for (100; 100 < 100; )


    조건부분의 값이 false를 나타내기 때문에

    이후의 처리는 공백상태의 초기 형태를

    실행하는 구조로 마무리 됩니다.


    어셈블리어로 살펴보면 jump(해당 메모리 주소로 즉각이동명령어) 관련 명령어들이

    없고 다음으로 진행하도록 변경됩니다.



    ※ 어셈블리어란 기계어(0,1로 이루어진 원시언어)보다

    최소 한 단계 높은 원시언어로 메모리 영역에서

    실제적인 데이터의 처리를 하는데 쓰여집니다.


    ※ 모든 프로그래밍 언어는 해당 언어에서 어셈블리어로,

    어셈블리어에서 기계어로 변환되어서 실행됩니다.



    실행에 대한 설명은 이정도로 마무리 짓겠습니다.
  • profile
    lklslel 2016.12.17 15:09

    프로그래밍 언어마다 구문을 구분하는 괄호가

    없는 경우도 있다는 점은 참고하시기 바랍니다.


    몽롱하다님께서 말씀하신 부분은 속도적인 측면에서

    직관적인 부분을 콕 집어내셨다고 할 수 있습니다.


    for문을 일일이 실행하면서 1개의 값을

    더하는 과정은 속도 저하로 이루어집니다.


    몽롱하다님께서 쓰시려는 플러그인이 HIME_SelfVariables.js

    인듯해서 스크립트를 받아서 쓰시려는 부분에 대해서 찾아보았습니다.

    this.set_self_variable(NAME, VALUE, EVENT_ID)
    this.get_self_variable(NAME, EVENTID)

    쓰시는 부분이 eventID에 저장된 변수의

    값을 더하는 부분인 듯하여 더 필요한

    정보를 정리를 해보았습니다.



    get / set_self_variable 함수는

    각종 Interpreter 객체
    Game_Player 객체
    Game_Follower 객체
    Game_Vehicle 객체
    Game_Event 객체

    의 인스턴스에서만 사용하실 수

    있다는 점을 잊으시면 안됩니다.



    다음은 사용하는 것이 가능한

    변수들의 모음입니다.



    $gamePlayer



    $gamePlayer._followers._data[팔로워인덱스]

    팔로워인덱스

    팔로워중에 데이터를 처리할 팔로워의 인덱스번호



    $gameMap._vehicles[차량타입]

    차량타입

    0 = 보트
    1 = 배
    2 = 비행선



    $gameMap._interpreter



    $gameMap._events[이벤트Id]

    이벤트Id

    맵에서 발생하는 각종 이벤트의 Id



    위에 제가 정리해드린 부분과 각종 interpreter관련

    변수들에서는 사용하실 수 있지만 이외에는 불가합니다.

    현재 당장 생각하셔야 할 점은 다음과 같습니다.

    1. 값을 찾기 원하는 변수명

    2. 찾기 시작하는 변수의 인덱스 번호

    3. 마지막으로 찾을 변수의 인덱스 번호

    4. 원하는 기능을 구현하는 방법



    을 생각하시고 나서 즉각적으로 쓰려고 하면

    다음과 같이 작성하는 것이 제일 단순할 겁니다.

    .setValue(146, this.get_self_variable("병렬처리대상", 1) + .................... + this.get_self_variable("병렬처리대상", 100))



    이처럼 작성하실 수도 있지만 좀 더 간편하게

    사용할 함수로 만들어보도록 하겠습니다.



    function range_sum(object , variable_name , start_index , last_index){
    var i, j, k, l,reg;
    switch(true){
    case (start_index != NaN && typeof start_index === "number" && last_index != NaN && typeof last_index != "number"):
    //시작 인덱스 데이터가 숫자이고
    //끝 인덱스 데이터가 숫자가 아니면
    //끝 인덱스 데이터는 시작 인덱스 데이터와 같도록 설정합니다.
    last_index = start_index;
    break;
    case (start_index != NaN && typeof start_index != "number" && last_index != NaN && typeof last_index != "number"):
    //시작 인덱스와 끝 인덱스가 숫자가 아니면
    //에러문을 찍어주고 강제로 종료합니다.
    throw new Error('range_sum\'s\nparameter is incorrect.');
    return false;
    }
    //j 는 합을 저장할 임시 변수입니다.
    j = 0;
    //k 는 단위 처리 갯수 변수입니다.
    k = 10;
    //l 은 전체 갯수를 k로 나누었을 때 발생한 나머지 값 변수입니다.
    l = (last_index - start_index) % k;
    switch(true){
    case (last_index >= start_index):
    //끝 인덱스가 시작 인덱스보다 클 때
    for(i = start_index;i < (last_index - l) + 1;i += k){
    j += object.get_self_variable(variable_name,i) + object.get_self_variable(variable_name,i + 1) + object.get_self_variable(variable_name,i + 2) + object.get_self_variable(variable_name,i + 3) + object.get_self_variable(variable_name,i + 4) + object.get_self_variable(variable_name,i + 5) + object.get_self_variable(variable_name,i + 6) + object.get_self_variable(variable_name,i + 7) + object.get_self_variable(variable_name,i + 8) + object.get_self_variable(variable_name,i + 9);
    }
    for(;i < last_index;i++){
    j += object.get_self_variable(variable_name,i);
    }
    break;
    case (last_index < start_index):
    //끝 인덱스가 시작 인덱스보다 작을 때
    for(i = last_index;i > (start_index + l) - 1;i -= k){
    j += object.get_self_variable(variable_name,i) + object.get_self_variable(variable_name,i - 1) + object.get_self_variable(variable_name,i - 2) + object.get_self_variable(variable_name,i - 3) + object.get_self_variable(variable_name,i - 4) + object.get_self_variable(variable_name,i - 5) + object.get_self_variable(variable_name,i - 6) + object.get_self_variable(variable_name,i - 7) + object.get_self_variable(variable_name,i - 8) + object.get_self_variable(variable_name,i - 9);
    }
    for(;i > start_index - 1;i--){
    j += object.get_self_variable(variable_name,i);
    }
    break;
    }
    return j;
    };



    사용방법의 예는 다음과 같습니다.

    $gameVariables.setValue(146,range_sum($gamePlayer,"병렬처리대상",1,100));

     

    ※ $gamePlayer 는 다른 변수로 대체될 수 있습니다. ※




    range_sum함수는 HIME_SelfVariables.js에

    추가하시기 보다는 작성한 함수를 등록하는

    플러그인을 하나 만드시면 되겠습니다.


    그렇게까지는 못하시겠다면 다른 플러그인의

    주석 부분 바로 뒤쪽에 붙여넣기 하시면 됩니다.


    HIME_SelfVariables.js를 예로 들자면


    Which will return true or false depending on what the value of the variable is.

    -------------------------------------------------------------------------------
    */

    //바로 여기에

    var Imported = Imported || {} ;
    var TH = TH || {};


List of Articles
No. Subject Author Date Views
8841 @brrsim_7텔레그램 선불유심내구제 급전 뽀로로통신 선불유심매입 뽀로로통신 선불유심현금화하는업체 선불유심구매 간편무서류소액급전 선불유심내구제뽀로로통신 2026.07.07 29
8840 선불유심내구제 텔레그램@brrsim_7 선불유심매입 선불유심구매 뽀로로통신 급전 대학생내구제 비상금 연체자바로소액급전 주말소액급전 선불유심내구제뽀로로통신 2026.07.07 52
8839 @brrsim_7텔레그램 선불유심내구제 선불유심매입 선불폰내구제 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 무직신불자소액급전 선불유심내구제뽀로로통신 2026.07.07 20
8838 선불유심내구제 텔레그램@brrsim_7 급전 선불유심매입 뽀로로통신 청년비상금급전 내구제소액 소액급전 정식업체 선불유심구매 선불유심내구제뽀로로통신 2026.07.07 38
8837 선불유심내구제 텔레그램@brrsim_7 뽀로로통신 급전 선불유심매입 신불자소액내구제 연체자바로소액급전 선불유심구매 바로모바일급전 선불유심내구제뽀로로통신 2026.07.07 44
8836 선불유심삽니다 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 선불유심매입 선불유심구매 소액내구제 급전 연체대납 바로소액급전 법인소액작업급전 선불유심내구제뽀로로통신 2026.07.07 44
8835 @brrsim_7텔레그램 선불폰유심내구제 선불유심매입 뽀로로통신 급전 선불유심내구제 급전해결내구제 선불유심현금화하는업체 선불유심구매 바로무직자급전 선불유심내구제뽀로로통신 2026.07.07 29
8834 선불유심매입 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 바로소액내구제급전 선불유심구매 급전 선불유심매입 바로소액급전 무서류무방문급전 선불유심내구제뽀로로통신 2026.07.07 48
8833 @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제 선불유심내구제뽀로로통신 2026.07.07 48
8832 선불유심내구제 텔레그램@brrsim_7 선불유심매입 뽀로로통신 소액급전내구제 급전 연체자바로소액급전 선불유심구매 대학생용돈 선불유심내구제뽀로로통신 2026.07.07 40
8831 @brrsim_7텔레그램 선불유심내구제 뽀로로통신 급전 선불유심매입 유심현금화하는업체 무직비상금바로급전 선불유심구매 선불유심내구제뽀로로통신 2026.07.07 39
8830 선불유심내구제 정식업체 텔레그램@brrsim_7선불유심매입 뽀로로통신 소상공인긴급생활안정자금 급전 선불유심구매 선불유심내구제 소액급전대출 바로신불급전가능 선불유심내구제뽀로로통신 2026.07.07 34
8829 @brrsim_7텔레그램 선불유심매입 선불유심내구제 뽀로로통신 선불유심현금화하는업체 프리랜서소액급전 선불폰유심매입합니다 급전 선불유심구매 바로정산 선불유심내구제뽀로로통신 2026.07.07 48
8828 @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제 선불유심내구제뽀로로통신 2026.07.06 75
8827 쯔꾸르 mv 게임을 apk 파일로 변환했는데... 1 박하맛 2023.01.14 2251
8826 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요... 2 백지씨 2021.12.20 3704
8825 apk포팅 승인 어케 하나요? game메이커xp 2021.11.29 2131
8824 Yanfly님의 Action Sequence Pack 질문드립니다 Neuromancer 2021.07.15 2668
8823 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ? 2 Xatra 2021.07.06 2907
8822 RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ) 2 scribble 2021.01.22 2504
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 443 Next
/ 443


[privacy statements] | [Terms of Use] | [Contact us] | [Sponsorship] | [Indiside History]

Copyright © 1999 - 2016 INdiSide.com/CL3D Co., Ltd. All Rights Reserved.
Owner : Chunmu(Jiseon Lee) | kernys(Wonbae Kim) | Sasinji(Byungkook Kim)