|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& d1 H3 O" s+ z/ y3 X& ^
$ }+ x( k) i/ B8 }# {1 V本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 s0 u: n) ^1 i# A
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& B" d/ Y+ j6 `; Mswarm.SignatureNotFoundException
" N0 D' ?4 G2 o$ F6 H0 I) a+ f at swarm.Selector.<init>(Selector.java:76)" H0 d" I- t3 h
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# L! Y: `) O, G
at ActionGroupDemo.main(ActionGroupDemo.java:67)( `2 S( q |+ n) D6 y5 E. i
8 c: O( K% U! q6 A* S' _( a
9 O' j" }' j. t- }# A- l) l
import swarm.objectbase.SwarmImpl;
6 q; ~( V! Z9 q6 b0 h- \* Cimport swarm.objectbase.Swarm;& K8 Z* U+ n+ L; m/ t
import swarm.activity.ScheduleImpl;
t' \( V2 k9 vimport swarm.activity.Activity;
9 {( m7 q! i$ {/ himport swarm.activity.ActionGroupImpl;" _& a n; Z' N( X3 |
import swarm.collections.ListImpl;
i/ H. q' [ s) O7 A( K/ G3 Mimport swarm.defobj.Zone;
6 q5 q7 z1 J( z5 limport swarm.Globals;
) o* A2 w5 X/ qimport swarm.Selector;; q, t9 |( R# ~ R+ S+ M( N
import swarm.activity.ActionGroup; 3 E2 D4 [3 q) ]" e' Z
class Agent {* c: E- @0 {0 `' P3 k
char id;7 T5 U6 T$ m! ?2 o+ H# t
h- `/ g, `: I% v% Y8 X Agent(char id) {
+ W' U! S% v2 k. ` this.id = id;
b" s! `8 H0 }: j8 Z) T( B }4 ?+ s' t2 y: ^1 Z' l: h
7 d' O/ J7 H9 u V8 s5 s
public void agentStep() { F" B1 v- j& _7 h9 {$ k2 |
System.out.println(id + ":" + Globals.env.getCurrentTime());% ?) c$ b! _: B8 n
}
1 e3 ~4 y6 ~' K0 }: h8 J}
. e* R: M$ b* r8 `. c3 g1 K
. e$ r. n7 R' v0 ~4 Kpublic class ActionGroupDemo extends SwarmImpl {
1 c( [+ n6 X) k' A: r" R3 n ScheduleImpl schedule;
3 E1 h |# |) ^% }( @- u4 o( { ActionGroupImpl actionGroup;6 `" d4 v' Z+ p8 o. r8 A0 J J5 R
ListImpl list;1 m5 X1 u" h' ?( f+ Q9 _, t
char Id = 'a';+ b l, ]5 {3 x: V2 Z8 X
, h2 ^5 f+ j* h6 D
ActionGroupDemo(Zone aZone) {
3 `& l2 d1 S4 V) k! L/ k: R" Q4 c super(aZone);
7 \! z7 h4 _( t( |1 E; J L { list = new ListImpl(aZone);5 a2 o; k/ I' `( z' k) q. ?" ?
swarmSetp();
/ e' V* X2 M) @1 K8 D. G) A actionGroup = new ActionGroupImpl(aZone);
) w( J6 R% k" C8 a" W schedule = new ScheduleImpl(aZone);! Z9 e; X0 ?$ E3 V6 C4 f' S
try {1 T3 B" c% O6 `- I) w N/ @
Selector agentSel = new Selector(Agent.class, "agentStep", false);
6 v9 H. k: }- X+ V Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. }/ q/ ]( I& K
# [0 w% O1 V# ^9 h0 m1 q4 P actionGroup.createActionForEach$message(list, agentSel);* L/ _* n% y! h# S, c' q. i
actionGroup.createActionTo$message(this, swarmSel);
! s& m; P' h6 w6 O$ p' U) n, z7 w' J schedule.at$createAction(0, actionGroup);, W7 N5 T8 d+ S" k" _$ C( H
schedule.at$createAction(1, actionGroup);
& a: C, O5 l8 j( D" g6 @ schedule.at$createAction(2, actionGroup);% Q! V0 g8 J2 ?8 |, h% ~1 `7 f6 S$ }
# \/ d0 b1 Y# H8 K5 Y } catch (Exception e) {7 B/ `- R( e/ p: E# g! Z
e.printStackTrace(System.err);
0 _( ~. D' u4 L6 Y, i! A //System.out.println(e);, X7 T, D4 K: [0 y; P+ a
System.exit(1);# y, x' y' S% e; ^8 Z0 I q+ B
}
/ r( V; J% ^2 C& b$ R6 ~8 t: r- n% L& ~1 u- J* r) A3 `% W
) b7 {; Y: _- g7 F, `8 c) m; U W }
2 M$ X4 v9 u! o) }! ^0 f2 l6 c: ~3 V
private void swarmSetp() {% \1 [# L, V5 Y0 i
list.addLast(new Agent(Id));
& W; O5 s- {1 X/ G; k) n' N* y% s0 ` Id++;
( P1 C" B7 p$ }- E# a }
$ ~7 B+ D8 o) @5 m1 f! |
# _+ Z$ g' u1 X6 W" d+ x+ J# K; w public Activity activateIn(Swarm context) {5 |- O4 P" S$ q0 L3 `* r6 l
super.activateIn(context);
' j8 _1 n0 {9 x/ n* R/ |8 X" v0 D2 S schedule.activateIn(this);
$ X7 J& N7 _: n5 t8 K/ | return getActivity();
" v$ i: a+ U4 S. m1 w }
* i" ~2 X$ F) T8 w: S
1 o* A0 e, k2 ]& g+ R) @ public static void main(String[] args) {" u* {3 {1 d% Y8 E, ~7 i
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 m6 V2 c& r( n N3 f( X0 r+ i Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! M4 d+ n, }+ G/ i( |. @. Q
swarms.buildObjects();
# ?, Q8 ^4 _# x( I) R: T1 G swarms.buildActions();1 O, N" i9 x% [( S& V+ a
swarms.activateIn(null).run();
5 O! ?4 Q8 d& c5 b+ d }, ~( e$ j: o9 ~ `% o6 h B( A
+ ~" [% I2 n, v" `$ `/ O- t5 z} |
|