我有這個想法將我的課程分爲具有特定任務的較小課程,所以我可以稍後使用它們。將班級分成更小的班級?
這裏有一個例子類拆分:
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.display.Stage;
public class m4w extends MovieClip {
public var upPressed:Boolean = false;
public var downPressed:Boolean = false;
public var leftPressed:Boolean = false;
public var rightPressed:Boolean = false;
public var lastMove:String;
public static var spd:Number=6;
public var ttt:MovieClip;
public function m4w(stageRef:Stage, dtct:MovieClip) {
addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey);
stageRef.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed);
stageRef.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed);
ttt=dtct;
}
//Movement
public function fl_MoveInDirectionOfKey(event:Event){
if (leftPressed){
x -= spd;
lastMove="left";
detectPlayer();
if(wlk.currentFrame < 18 || wlk.currentFrame > 24){
wlk.gotoAndPlay(17);
}
}else
if (rightPressed){
x += spd;
lastMove="right";
detectPlayer();
if(wlk.currentFrame < 26 || wlk.currentFrame > 31){
wlk.gotoAndPlay(25);
}
}else
if (upPressed){
y -= spd;
lastMove="up";
detectPlayer();
if(wlk.currentFrame < 10 || wlk.currentFrame > 16){
wlk.gotoAndPlay(9);
}
}else
if (downPressed){
y += spd;
lastMove="down";
detectPlayer();
if(wlk.currentFrame < 2 || wlk.currentFrame > 8){
wlk.gotoAndPlay(1);
}
}
}
public function fl_SetKeyPressed(event:KeyboardEvent):void{
switch (event.keyCode){
case 87:
case 38:{
upPressed = true;
break;
}
case 83:
case 40:{
downPressed = true;
break;
}
case 65:
case 37:{
leftPressed = true;
break;
}
case 68:
case 39:{
rightPressed = true;
break;
}
}
}
public function fl_UnsetKeyPressed(event:KeyboardEvent):void{
switch (event.keyCode){
case 87:
case 38:{
upPressed = false;
break;
}
case 83:
case 40:{
downPressed = false;
break;
}
case 65:
case 37:{
leftPressed = false;
break;
}
case 68:
case 39:{
rightPressed = false;
break;
}
}
}
//Movement
public function detectPlayer(){
if (ttt.hitTestPoint(x, y, true)){
if(lastMove == "right"){
x -= spd;
}
if(lastMove == "left"){
x += spd;
}
if(lastMove == "up"){
y += spd;
}
if(lastMove == "down"){
y -= spd;
}
}
}
}
}
這是一個棋子類3個任務運動/控制移動圖形/衝突檢測。 現在的問題是如何親會做到這一點?或者它是一個好主意?
和額外的問題是,當我將它們分成不同的類什麼是將他們的功能主義者添加到一個類中的最佳方式?我知道有可能讓這些類彼此延伸,直到最後一類擁有所有的屬性,但我認爲這不是最好的方式。
謝謝^ _^
感謝提示我可以看到要點。但你應該學會不要把書放在懶惰的人身上^ _ ^ –