コンポーネントファイルは次の場所にあります。
1) depositfiles.com/files/ptsxof3p9
2) ifolder.ru/14260428
検索の本質
検索を成功させるには、特定のエンティティが移動してパスを検索する平面を「タイル」に分割する必要があります
図1-「タイル」のフィールド(ペイントされたタイルは障害物です)
最も単純な場合の「タイル」を説明する各オブジェクト(今後は「タイル」ではなく「ノード」という用語に切り替えましょう)では、その座標が画面に保存され、このタイルが障害物かどうかのサインが保存されます。 原則として、これはブール式であり、 trueの場合、このノードは障害物であり、 falseの場合、通過するフリーノードです。 コンポーネントを開発するときに、「 障害マップ 」という用語を作成しました;コンポーネントの動作を説明するのに役立ちます。 障害マップは、各ノードの開通性(ノードが障害であるかどうか)を特徴付けるブール式を格納する2次元配列です。 障害物マップに基づいて、コンポーネントはパスを検索します。
次に、最も単純な例を使用して障害物マップを作成し、コンポーネントのメソッドに進みましょう。 5 x 7のフィールドを作成し、一部のセルを通過できないようにする場合、次のようにします。
1)各ノードをfalseに設定して障害物マップを初期化します-通過する無料のノード
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .
var obstacle_map:Array=[];
for ( var i: int =0; i<5; i++) {
obstacle_map[i]=[];
for ( var j: int =0; j<5; j++) {
obstacle_map[i][j]= false ;
}
}
2) , true.
obstacle_map[0][0]= true ;
obstacle_map[1][1]= true ;
obstacle_map[2][1]= true ;
obstacle_map[2][3]= true ;
obstacle_map[3][3]= true ;
obstacle_map[4][3]= true ;
obstacle_map[0][4]= true ;
, 2 – .
2 –
, , AStar.
–
, , , :
var a_star:AStar= new AStar();
a_star a_star.ERROR:
a_star.addEventListener(a_star.ERROR,onError);
, . onError. , , :
private function onError(e:Event): void {
trace(a_star.lastError);
}
, a_star, lastError. – . 3 output . , , .
3 –
:
a_star.setObstacleMap(obstacle_map);
! AStar.ERROR AStar, . , . setObstacleMap - , lastError . , – , . , , .. , , , , AStar, .
Event.COMPLETE:
a_star.addEventListener(Event.COMPLETE,onComplete);
onComplete , clippingType ( ):
a_star.clippingType=<>
, : a_star.F ( full), a_star.P ( prevent) a_star.N ( none). a_star.N , . ? , . . 4 S (start) , f (finish) .
4 –
clippingType (. 5)
5. – clippingType=a_star.N .
5. – , . clippingType=a_star.P . : , ( , 3D ) , , . , «» , . 6, , – .
6 –
clippingType=a_star.P ( ) , . , , .
5. , – clippingType=a_star.F . .. .
, . , :
AStar.findPath(_startx:int,_starty:int,_targetx:int,_targety:int):void
{0,1} {6, 3}. findPath:
a_star.findPath(0,1,6,3);
, Event.COMPLETE (, ?), a_star . a_star my_path:Array:
private function onComplete(e:Event): void {
my_path=a_star.getPath();
}
, , . { _x: < >, _y: < >}. , 5.:
my_path=[
{_x:0,_y:1},
{_x:1,_y:0},
{_x:1,_y:2},
{_x:1,_y:3},
{_x:2,_y:4},
{_x:3,_y:5},
{_x:3,_y:6}
];
. , .