Class: PathFinding

collie. PathFinding

new collie.PathFinding(oMap, fBeforeMove)

Path Finding with collie.Map

Name Type Description
oMap collie.Map
fBeforeMove Function

해당 타일에 이동해도 되는지 판단하는 함수, 이동할 수 없다면 false를 반환해야 한다

Name Type Description
tile Object

이동하려는 타일 정보, DisplayObject가 아님

map collie.Map

Example
var finder = new collie.PathFinding(map, function (tile, map) {
    if (tile.isBlock) { // isBlock is a custom option.
        return false;
    }

    // you can make a custom logic for checking a tile that you can go by return false. 
    ...
});

// You can get array as [[x, y], [x, y] ...].
var aPath = finder.find(0, 0, 5, 5); // startTileX, startTileY, endTileX, endTileY
console.log(aPath);

// If you want to find what a tile you can go, you can use a beforeMove method
if (finder.beforeMove(map.getTile(5, 5))) {
    console.log("I can go there!");
}

Extends

Requires

  • module:collie.addon.js

Methods

inherited attach(vEvent, fHandler){collie.Component}

이벤트 핸들러 추가

Name Type Description
vEvent Object | String
fHandler Function
Returns:
체이닝 지원

beforeMove(htTile){Boolean}

움직일 수 있는 타일인지 확인

Name Type Description
htTile Object

displayObject가 아니라 tile 정보 객체

inherited detach(vEvent, fHandler)

이벤트 핸들러를 해제한다

Name Type Description
vEvent Object | String
fHandler Function

값이 없을 경우 이 이벤트에 할당된 전체 핸들러를 해제한다

inherited detachAll(sName)

모든 이벤트 핸들러를 해제

Name Type Description
sName String

이벤트 이름, 값이 없으면 이 컴포넌트에 할당된 모든 이벤트를 해제한다

find(nFromTileX, nFromTileY, nToTileX, nToTileY){Array|Boolean}

길찾기

Name Type Description
nFromTileX Number
nFromTileY Number
nToTileX Number
nToTileY Number
Returns:
y1], [x2, y2], ... ]

inherited fireEvent(sName, oEvent){Boolean}

이벤트 발생

Name Type Description
sName String
oEvent Object
Returns:
발생 중 collie.ComponentEvent의 stop 메소드가 실행될 경우 false를 반환한다

inherited get(sName){Variables}

DisplayObject와 Layer의 서로 다른 인터페이스를 맞추기 위한 임시 메서드

Name Type Description
sName String
See:

inherited option(vName, vValue, bNotOverwrite)

컴포넌트의 옵션을 설정한다.

Name Type Description
vName Object | String

옵션 이름이나 여러 옵션을 설정할 수 있는 객체를 넣을 수 있다.

vValue Variables optional

옵션 값, 값이 없다면 해당 옵션 값을 반환한다.

bNotOverwrite Boolean optional

이 값이 true면 기존에 값이 있을 경우 덮이 씌우지 않는다

Example

component.option({ a : 1, b : true });

component.option("a", 1); component.option("a"); // return 1

inherited optionSetter(sName, fSetter)

옵션 값이 설정될 때 실행될 함수를 지정한다. Setter는 한 속성 당 한 개의 함수만 설정할 수 있다.

Name Type Description
sName String
fSetter Function

inherited set(sName, vValue, bNotOverwrite){Object}

DisplayObject와 Layer의 서로 다른 인터페이스를 맞추기 위한 임시 메서드

Name Type Description
sName String
vValue Variables
bNotOverwrite Boolean optional
See:
Returns:
method chaining

옵션을 제거한다

Name Type Description
sKey String
comments powered by Disqus