发新话题
打印

韩国的act游戏地图编辑swf...

韩国的act游戏地图编辑swf...

大家还记得这个游戏吗? 韩国的ACT游戏
[upload=swf]UploadFile/2005-8/200586175534366.sw
如果要增加多几个关卡..一定要有个地图编辑器才方便点.
所以我也粗略做了一个...可以导入数组显示效果.和编辑输出数组! 把它贴进as里的关卡就行了..
[upload=swf]UploadFile/2005-8/200586175738635.sw
测试时,打开swf 点击trace按钮 把下面的数组贴进文本框,点击"解释按钮"就看到效果了
s0 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
s1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
s2 = ["b", "b", "b", "b", "b", "b", "b", 0, "b", "b", "b", "E", "b", "b", "b", "b"];
s3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "L", 0, 0, 0, 0];
s4 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "L", 0, 0, 0, 0];
s5 = ["b", "E", "b", 0, "b", "b", "b", "b", "b", "b", "b", "b", 0, "b", "b", 0];
s6 = [0, "L", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
s7 = [0, "L", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
s8 = ["b", "b", "b", "b", "b", "b", "b", 0, "b", "b", "b", "b", "b", "b", "E", "b"];
s9 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "L", 0];
s10 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "b", "b", "b", "b", "b"];
s11 = [0, 0, 0, 0, 0, 0, 0, 0, 0, "b", "E", 0, 0, 0, 0, 0];
s12 = ["b", "b", "b", "b", "b", "b", "b", "b", "s", "s", "L", 0, 0, 0, 0, 0];
s13 = ["b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b"];

附上: as代码:

stop();
var L = 0;
var R = 0;
for (var i = 0; i<(16*14); i++) {
var c = _root.attachMovie("mc", "loc"+i, i);
if (i%16 == 0 && i != 0) {
L += 1;
R = 0;
} else if(i!=0) {
R += 1;
}
c.id=i;
c._x = R*(35);
c._y = L*(35);
c._alpha=50;
c.onPress = function() {
var flag = (this._currentframe == 1) ? 2 : 1;
if(_global.FLAG!=null){

this.gotoAndStop(frame_item(_global.FLAG));
}else{
if(_root[’bug’+this.id]==undefined){
var d=_root.attachMovie(’bugs’,’bug’+this.id,500+this.id);
d._x=this._x;
d._y=this._y;
}else{

_root[’bug’+this.id].removeMovieClip();
}

}
};
c.onRollOver = function(){
//trace(this._x+" | "+this._y)
}
}

bug.onPress=function(){
_global.FLAG=null;
MouseDrag(draw_bug);
}
DragMc=new Array(’draw_bug’,’mouseFlag’)
function MouseDrag (mc){
mc.startDrag(true);
for(var i=0;i<DragMc.length;i++){

if(mc!=DragMc){
_root[DragMc]._x=1000;
}
}
}

_global.FLAG=’O’;
itemFlag= new Array(’O’,’b’,’L’,’E’,’S’,’s’);
for(var i =0;i<itemFlag.length;i++){
_root.id=i;
_root.onPress=function(){
MouseDrag(mouseFlag);
_global.FLAG=itemFlag[this.id];
// trace(_global.FLAG);
mouseFlag.gotoAndStop(frame_item(_global.FLAG));
}

}
//Mouse.hide();
function frame_item(str){
var num;
switch(str){
case ’O’:
num=1;
break;
case ’b’:
num=2;
break;
case ’L’:
num=3;
break;
case ’E’:
num=4;
break;
case ’S’:
num=5;
break;
case ’s’:
num=6;
break;
default:
num=7;
}
return num;
}

function format(){
//(’0’,’b’,’L’,’E’,’s’);

show.text = "";
show.html=true
var str = "";
var j=0;

str = ’s’+j+’=[’;
for (var i = 1; i<=(16*14); i++) {

var c = _root["loc"+(i-1)];

switch(c._currentframe){

case 1:
var flag=0;
break;
case 2:
var flag=’"b"’;
break;
case 3:
var flag=’"L"’;
break;
case 4:
var flag=’"E"’;
break;
case 5:
var flag=’"S"’;
break;
case 6:
var flag=’"s"’;
break;
default:
var flag=’"err"’;
}
if(i%16==0){
j++;
str += flag+"];<br>"+’s’+j+’=[’;

}else {
str += flag+","
}
}
var str=str.substr(0, str.length-9);

return str+"<br><br>"+evil_pos;
}

function format2(){
//evil_pos = [{x:random(125)+75, y:70, min_x:18, max_x:210}, {x:random(200)+300, y:68, min_x:300, max_x:530}, {x:random(180)+180, y:172, min_x:160, max_x:395}, {x:random(150)+50, y:278, min_x:16, max_x:219}, {x:random(200)+320, y:278, min_x:300, max_x:540}, {x:random(200)+35, y:420, min_x:35, max_x:250}, {x:random(60)+360, y:455, min_x:354, max_x:535}];
evil_pos = "evil_pos =[";
for(var a in _root){
if(typeof(_root[a]) =="movieclip"){
var name=_root[a]._name;
var mc=_root[a];
if(name.slice(0,3)==’bug’){



evil_pos +="{x:random(200)+"+mc._x+", y:"+mc._y+" ,min_x:"+(mc._x+10)+’ ,max_x:’+(mc._x+200)+"},";
}
}
}
evil_pos =evil_pos.slice(0,evil_pos.length-1);
evil_pos +="];"

trace(evil_pos)
}







function reader(Str:String){
trace(’------------------------------------’)

var code =Str.split("");
trace(’- 转换 16位码 -’);
var Code16=’’;
for(var i=0;i<code.length;i++){ //累加每个字符的16位码,包括空格回车
//trace(code+’->’+code.charCodeAt(0))
var sl=code.charCodeAt(0);
//trace(sl+’ len:’+String(sl).length);
Code16 +=(String(sl)+’|’);
}

//trace(’16位码:’+Code16);
var myArray =Code16.split(’|’);
var newStr=’’;
for(var i=0;i<myArray.length;i++){
if(myArray==59){//字符是;的分隔;
newStr +=’|’;
}else if(myArray!=13&&myArray!=9){//字符是回车同空格的不累加

var sl=String(chr(myArray));

//trace(sl+’> len’+sl.length)
newStr +=sl;
}
}

var formatArray=newStr.split(’|’);

//trace(’code:’+formatArray);
var newStr=’’;
trace(’---------’);

for(var i=0;i<formatArray.length;i++){ // 截取每行头尾字符后累加

var sl=String(formatArray);
var index =sl.indexOf("[");
var lastIndex=sl.lastIndexOf("]");
newStr +=(sl.slice(index+1,lastIndex)+’,’);
//trace(’>’+sl);
//trace(’>>’+sl.slice(index,lastIndex));
}

var newStr2=newStr.split(",");
//trace(newStr2);

for (var i = 0; i<(16*14); i++) {
var c = _root["loc"+i];

var label=newStr2;

if(label.length>3){ //不知何解.每label多了一个空格
label=label.substr(1,label.length);
//trace(’处理:’+label);
}

if(label==0){
label=’O’;
}else if(label==’"E"’){
label="E";
}else if(label==’"b"’){
label="b";
}else if(label==’"L"’){
label="L";
}else if (label==’"S"’){
label="S";
}else if (label==’"s"’){
label="s";
}else{
trace(’error:’+label+ ’len:’+label.length);//不知名类型
label=’error’
}
c.gotoAndStop(frame_item(label));
}
}




附件

2005-8/200586175738635.swf (115.22 KB)

2005-8-7 01:57, 下载次数: 335

2005-8/200586175534366.swf (704.71 KB)

2005-8-7 01:55, 下载次数: 2597

TOP

玩过,地图挺麻烦的。

TOP

有没有编辑器的.fla啊???很想研究下
网赚协会论坛 - http://www.zz918.com
绿色软件下载站 - http://Www.110F.Com
在线免费电影联盟 - http://Www.577123.Com

TOP

好长喔`1~!~!

TOP

怎么下不起呀

TOP

发新话题