标题: [已解决]如何实现按钮的图文混排?
sjmind
会员
Rank: 1



UID 1025
精华 0
积分 106
帖子 30
阅读权限 5
注册 2008-6-4
 
发表于 2008-7-18 21:31  资料  短消息  加为好友  添加 sjmind 为MSN好友 通过MSN和 sjmind 交谈
[已解决]如何实现按钮的图文混排?

写了许久,按钮倒是都写出来了,但是看不见文字和图,代码如下(调用的是ItemSelect):

function drawBasicSys(target="",storage="",exp="",base=kag.current)
{
        var elm=%[];
        base.locate(70,30);
        elm.normal="button1-1.png";
        elm.exp=exp+"tf.ItemSelected=tf.Selecting;clearSys();";
        elm.target=target;
        elm.storage=storage;
        base.addButton(elm);
        base.locate(0,30);
        elm.normal="leftbutton.png";
        elm.exp="tf.Selecting+=f.IL.count+1;tf.Selecting%=f.IL.count;drawItem(f.IL[tf.Selecting])";
        elm.target="";
        elm.storage="";
        base.addButton(elm);
        base.locate(590,30);
        elm.normal="rightbutton.png";
        elm.exp="tf.Selecting+=f.IL.count+1;tf.Selecting%=f.IL.count;drawItem(f.IL[tf.Selecting])";
        elm.target="";
        elm.storage="";
        base.addButton(elm);
        tf.ItemIcon=new Layer(kag,base);
        tf.ItemIcon.visible=false;
        tf.ItemContent=new MessageLayer(kag,base);
        tf.ItemContent.visible=false;
        tf.ItemContent=new MessageLayer(kag,base);
        tf.ItemContent.visible=false;
        tf.ItemName=new MessageLayer(kag,base);
        tf.ItemName.visible=false;
}
function drawItem(ID)
{
       
        if (GetItemGraph(ID)!="_")
        {
                tf.ItemIcon.visible=true;
                tf.ItemIcon.loadImages(GetItemGraph(ID));
                tf.ItemIcon.setSizeToImageSize();
                tf.ItemIcon.setPos(80,40);
        }
        tf.ItemName.visible=true;
        tf.ItemName.processCh(GetItemName(ID));
        tf.ItemName.setPos(200,40);
        tf.ItemContent.visible=true;       
        tf.ItemContent.processCh(GetItemContent(ID));
        tf.ItemContent.setPos(80,200);
        askYesNo("ID:"+ID+"  Name:"+GetItemName(ID));
       
}
function ItemSelect(target="",storage="",exp="",base=kag.current)
{
        drawBasicSys();
        tf.Selecting=0;
        tf.ItemSelected=tf.Selecting;
        drawItem(tf.Selecting);
}

function clearSys()
{
        kag.current.clearLayer(true);
        invalidate tf.ItemIcon;
        invalidate tf.ItemContent;
        invalidate tf.ItemName;
}

从askYesNo("ID:"+ID+"  Name:"+GetItemName(ID));返回的结果看
GetItemName(ID),GetItemContent(ID)值应该是正确的
但是看不见新的3个layer
不是很理解,望大师指教

[ 本帖最后由 sjmind 于 2008-7-18 23:11 编辑 ]

顶部
sjmind
会员
Rank: 1



UID 1025
精华 0
积分 106
帖子 30
阅读权限 5
注册 2008-6-4
 
发表于 2008-7-18 23:11  资料  短消息  加为好友  添加 sjmind 为MSN好友 通过MSN和 sjmind 交谈
换了一种机制解决了:

var BasicSysLayer="message5";
var ItemDataLayer="message6";
function drawBasicSys(target="",storage="",exp="")
{
        kag.tagHandlers.locate(%[x:70,y:30]);
        kag.tagHandlers.button(%[normal:"button1-1.png",exp:exp+"tf.ItemSelected=tf.Selecting;clearSys();",target:target,storage:storage]);
        kag.tagHandlers.locate(%[x:0,y:30]);
        kag.tagHandlers.button(%[normal:"leftbutton.png",exp:"tf.Selecting+=f.IL.count-1;tf.Selecting%=f.IL.count;ItemSelect(tf.Selecting,"+'"'+target+'"'+","+'"'+storage+'"'+","+'"'+exp+'"'+");",target:"",storage:""]);
        kag.tagHandlers.locate(%[x:590,y:30]);
        kag.tagHandlers.button(%[normal:"rightbutton.png",exp:"tf.Selecting+=f.IL.count+1;tf.Selecting%=f.IL.count;ItemSelect(tf.Selecting,"+'"'+target+'"'+","+'"'+storage+'"'+","+'"'+exp+'"'+");",target:"",storage:""]);
}
function drawItem(ID)
{

        if (GetItemGraph(ID)!="_")
        {
                kag.tagHandlers.locate(%[x:0,y:0]);
                kag.tagHandlers.image(%[storage:GetItemGraph(ID)]);
                kag.tagHandlers.locate(%[x:120,y:0]);
                kag.tagHandlers.ch(%[text:GetItemName(ID)]);
                kag.tagHandlers.locate(%[x:0,y:120]);
                kag.tagHandlers.ch(%[text:GetItemContent(ID)]);
        }
        else
        {
                kag.tagHandlers.locate(%[x:120,y:0]);
                kag.tagHandlers.ch(%[text:GetItemName(ID)]);
                kag.tagHandlers.locate(%[x:0,y:25]);
                kag.tagHandlers.ch(%[text:GetItemContent(ID)]);
        }
}
function ItemSelect(pos=0,target="",storage="",exp="")
{
        kag.tagHandlers.current(%[layer:BasicSysLayer]);
        kag.current.clearLayer(true);
        drawBasicSys(target,storage,exp);
        tf.Selecting=pos;
        tf.ItemSelected=tf.Selecting;
        kag.tagHandlers.current(%[layer:ItemDataLayer]);
        kag.current.clearLayer(true);
        drawItem(f.IL[tf.Selecting]);
        drawItem(f.IL[tf.Selecting]);
}

function clearSys()
{
        kag.current.clearLayer(true);
        kag.tagHandlers.current(%[layer:BasicSysLayer]);
        kag.current.clearLayer(true);
}

顶部
equal
会员
Rank: 1



UID 598
精华 0
积分 14
帖子 2
阅读权限 5
注册 2007-12-10
 
发表于 2008-7-19 17:14  资料  短消息  加为好友 
:'( :'( 看不懂

顶部
 



清除 Cookies - 联系我们 - [Key Fans Club] the Council of Doujin-game Development and Promotion - Archiver - WAP
Powered by Discuz! 5.5.0 © 2001-2006 Comsenz Inc.
Processed in 0.022993 second(s), 10 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示