晨风交流论坛_CMP_CChat_Flash_音乐_视频_播放器_live直播_聊天室

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6595|回复: 9

[教程] CMP4 新手指引『常见问题及技巧集合』入门必备 [复制链接]

版主

孤家寡人

Rank: 7Rank: 7Rank: 7

发表于 2010-3-25 18:32:04 |显示全部楼层
本帖最后由 路过恋人 于 2010-4-15 11:31 编辑

CMP4发布以来,我们收集了大量新手常见问题并一一给予了详细的解答。但是对于刚认识CMP的新手来说,在遇到问题后并不会在论坛里寻找是否有过相似问题的帖子,从而直接发帖询问。而有些问题我们都已经回复过很多次,这些问烂了的问题,我们都已经麻木了,即使看到也不会甚至懒得理会。而这样便给新手一个CMP管理层和坛内风气冷淡的印象。所以,在这里为新手们收集了大家经常会遇到而且弄不懂得问题。希望新手朋友们在这里能有一个好的开始,祝你早日成功!
以下问题是我随机收集的,可能不是很全面,欢迎提出你认为比较让新手困扰的问题。有些是链接,可以直接点击进入该贴,回帖中已经有相关解答。

官方常见问题解答

上传问题篇


CMP4对空间有什么要求
  CMP对空间的要求并不高,只要支持swf,xml 及html就可以,大部分空间都会支持,但有些空间会对swf调用xml进行了一些限制。可能不能使用,建议更换空间。
下载了安装包,要上传那些文件到空间呢
先把安装包解压到任何位置,然后打开“upload”文件夹,将里面的文件全部上传,当然在这之前你需要进行一些修改,如何修改请往下看。而即使是官方给出的安装包,里面的文件你也可以进行一些取舍。比如其中的"music"文件夹,里面是演示用的音乐,你大可不必也一起上传。
我下载了官方安装包,要怎么上传到自己空间上呢?
上传安装包内“upload”内的全部文件到您的空间上,如果有ftp可以直接将内容拖放到您的ftp服务器上,如果是web式的文件管理方式,那么还需要新建若干个文件夹以存放不同内容,如skins,lrc 以及plugins文件夹,skins用来存放皮肤,lrc用来存放歌词以及plugins用来存放插件等等。
上传播放器以后要怎么样才能得到地址呢
先看下您把程序上传到哪个文件夹下了。如果是上传在根目录下的话可以直接http://你的域名/cmp.swf。如果不是在根目录下那么就看看在哪个文件夹下了。比如说你把程序放到了根目录下的player文件夹下,那么播放器地址就应该是http://你的域名/player/cmp.swf(如果更改了cmp.swf的文件名就对应的改一下)。值得注意的是请不要使用ftp://开头的播放器地址!
网盘可不可以做播放器
不可以!网盘和网络空间不同,网盘只是用来存储文件的,而网络空间却可以建立站点。
为什么无法调用皮肤
  首先确定你的皮肤是否是标准的。如果连官方的皮肤都不能调用,那么请修改文件后缀名。有些空间确实进行了这方面的限制,不过不用担心。
为何要修改皮肤格式(后缀)
修改的不是格式,是后缀。为了应对个别空间不支持zip文件解压缩的限制,我们可以使用修改后缀名的方法骗过服务器,从而让CMP能正常的读取皮肤。
如何修改皮肤后缀
修改后缀的办法很简单。首先打开皮肤所在的文件夹,看一下文件名上是否有显示后缀,如果是如:qqplayer.zip这样的表示已经显示了后缀名,而如:qqplayer的名字就表示没有显示后缀名。而不显示后缀是和计算机设置相关的。依次点击“工具-文件夹选项-弹出文件夹选项对话框-切换到查看选项卡-在高级设置中找到<隐藏已知文件类型的扩展名>将前面框内的对号取消(点一下就行了)-点击确定。这时计算机会刷新一次,你就可以看到文件的后缀名了。然后选中一个皮肤包,右键-重命名 将“zip”换成“swf”或“jpg”等常见的文件格式即可。
我空间不支持asp和php可以用论坛共享的程序吗?
只要有个代理地址就可以在config中进行全局调用,他可以跨域。

配置编辑篇


熟悉配置文件的基本格式 config.xml
先来看看官方默认config.xml的配置:
  1. <cmp
  2.         name = "右键菜单第一条中显示的内容"
  3.         link = "http://bbs.cenfun.com/ " 链接,点击后跳转到得地址。他和"name"是一起的。
  4.         description = "CMP v4.0"默认歌词区显示的内容
  5.         logo = "{src:logo.png,xywh:[10R,10R,0,0]}"自定义的logo大括号里指定了logo的指向名称及“[位置和大小]”。

  6.         skins = "skins/flamplayer.zip,skins/qqplayer.zip,skins/wmp11.zip,skins/blue_full.zip,skins/exobud_plastic.zip"皮肤配置,可以设置多个用英文逗号隔开,这里的顺序决定了CMP中加载的顺序。
  7.         plugins = ""前景插件,显示在播放器的最顶层,也可以设置多个。而这里的顺序是倒序排列的,最后一个是在最上面。
  8.         backgrounds = "{src:plugins/bigbg.swf,repeat:1}"背景,大括号中指定了背景的指向名称和平铺方式。
  9.         lists = ""列表配置,可以设置多个并用英文逗号隔开,顺序和皮肤顺序一样。

  10.         src_handler = "" 全局地址代理,这里不限制跨域,空间不允许的情况下可以调用别人的代理。
  11.         lrc_handler = ""全局歌词代理,同上↑

  12.         skin_id = ""皮肤编号,即默认显示第几个皮肤。

  13.         play_id = ""默认播放的专辑
  14.         auto_play = ""是否自动播放。“0”表示不自动播放,1或其他数字表示播放哪首歌,按list.xml中的顺序。

  15.         counter = "http://img.users.51.la/3389672.asp"统计。仅限于图片式统计代码。
  16. />
复制代码
我想进行更多的自定义设置

熟悉配置文件的基本格式 list.xml
需要说明的是,虽然声波很好看,但是要想显示声波必须满足两个条件。一必须是MP3文件,二是服务器必须支持声波读取,也就是服务器端必须有crossdomain.xml

【参数转义】地址参数的编码【告别配置文件】
只要几个参数就可以了,参数太多不好记啊~一般需要用到的也就是单曲、皮肤的个性设置。

皮肤配置篇


了解皮肤制作的配置skin.xml
制作皮肤不是一时半会就能完成的,需要一点耐心和平面设计基础。所以在CMP4中制作皮肤是比较有难度的。如果不想做皮肤可以请热心的网友制作。也可以利用论坛上公布的皮肤进行修改。简单的换换图片调调坐标如果可以,可以试试。
我下载的皮肤是swf后缀的,他是用flash做的吗?
不是。CMP4的所有皮肤都是由皮肤包组成的,前面说过为了对应服务器不支持zip文件解压缩而修改的格式,下载后可以按照前面说的方法改回到zip。然后在通过winrar打开。
必须压缩成.zip吗?
是的,因为只有.zip可以支持向压缩包内部读取,rar的格式不行。
skin.xml可不可以改成别的名字?
不可以。CMP4找到皮肤后会首先读取这个配置文件,修改名字后会造成加载错误。
皮肤元件都支持什么格式
窗口元件(四个窗口的主界面)可以支持.png .jpg .gif .swf .bmp 其中.jpg和.bmp不支持透明度,但可以通过设置镂空某种颜色。所以最好采用支持镂空的文件格式。控制元件(如播放按钮\停止按钮等)不支持.swf。
控制元件只能是几个图片合起来吗
四个表示不同状态。比如你要一个12*12的bt_play,那么你至少需要一个48*12的图片。 其中包括四个12*12的图片,由CMP根据实际分别调用显示。但如果你在console.png的图片上作了这样的图样,那么你可以做一个纯色的bt_play上去调整到你设置的位置,然后再删除这个图片。
比如按钮,有四个状态,即需要四个图片,这里将4个图片横向摆在一起,则只要横向切成4份,竖排切成1份(4x1,切割方式),即可取得对应状态皮肤
注意4份大小都需一样,还有就是特殊按钮(开关按钮、切换按钮),如播放按钮:
其实为播放和暂停的整合体,因为它两部可能同时出现,只能切换,故每个皮肤占用2个位,类似的还有一些开关按钮,如静音,随机,重复按钮等
具体有哪些状态,怎么摆放,请参考模板皮肤
为什么我看到在cmp中的皮肤大小和皮肤包里的大小不一样?
这是因为皮肤使用了cmp来定义大小。你可以发现该皮肤的中间部分没有什么渐变和图案之类的东西。
由于拉伸就会变形,这里为了保证边角效果,这里采用了特殊填补机制(自动进行):
先竖向居中切成2份,并靠左右两边摆放:如果宽不够,则中间空缺使用中间一个像素竖条填充;如果宽大于,则删除中间多于部分
然后横向居中切成2份,并靠上下两边摆放:如果高不够,则中间空缺使用中间一个像素横条填充;如果高大于,则删除中间多于部分
最后达到保证边角不被拉伸变形效果
注意:如果你的皮肤中间有图案或渐变,则拉伸会被破坏掉,故请制作对应宽高文件,以便不被拉伸。
      如果是比较单调的(即中间部分没有渐变或图案)皮肤或自动大小的皮肤,尽量用cmp定义大小。
      Flash皮肤不是图片,cmp无法对其进行特殊填补,所以会完全拉伸。

做皮肤需要什么工具呢?
必要的:cmp程序,winrar 记事本。选件:photoshop(皮肤元件制作) cmp3skiner(皮肤坐标调整)ColorPix(颜色代码选

择) ScreenRuler(屏幕标尺)

【event】CMP4窗口事件详解
Event事件只是简单的做一些窗口连动操作,需要更多的效果请使用API.
【xywh】CMP位置宽高参数详解
XYWH是CMP皮肤制作的核心部分,充分掌握XYWH的调整会让你做皮肤事半功倍。
XYWH是CMP中很有特色的功能,它简单易操作也比较直观。来详细介绍下各个参数的使用方法:
  其实这四个字母就定义了一个元件在你屏幕上的位置和大小,很简单,就是X坐标和Y坐标,W表示宽度H表示高度。这四个参数相互组合即决定了一个元件在屏幕上的位置。可以说你皮肤设计的再漂亮没有它们你也没有办法用。

x:  横坐标,水平方向
y:  纵坐标,垂直方向
w:  width 宽度
h:  height 高度
C:  center 居中
R:  reverse 反向,相反
P:  percent 百分比
B:  border 边距,边界
px: pixel 像素,点

X和Y组合使用决定位置,W和H组合决定大小。
同时,X和Y的参数中还可以进行绝对值和相对值的设定,可以使用C和R进行特殊相对位置排列。W和H的参数中可以使用P和B来进行特殊大小调整。px像素是默认的,即不填写任何特殊参数所使用的单位。
    举个例子:在一张白纸上画一个方块,那这个方块需要多大,位置又在哪里?这时我们可以使用XYWH来指定,比如要这个方块在左上角,宽度和高度分别是30和15,那么我们可以使用XYWH表示为:xywh="0,0,30,15"因为顶点是在左上角,所以前面的xy设为零即可。那么现在我又希望这个方块移动到整张纸的中心点上,这时我们就可以使用“C:  center 居中”参数了,即以中间为顶点向外设定,因为是从中间开始的,所以允许有负数设定。xywh="0C,0C,30,15"。这次我们要的是绝对居中显示,所以将XY的坐标同时居中,但如果我只把X设置居中而Y依然不居中的话会怎样呢?xywh="0C,0,30,15"自己试试看吧.你会发现这个方块跑到最上边的中间去了。同样的道理,xywh="0,0C,30,15"呢?值得注意的是居中的参数是允许有负数的,如果你将XY的值设为一个正的数值,你会发现它会从中间向右下角偏移相应的距离,那其他部分是不是不能用了呢?不是的,其实你可以使用负数来定位其他位置的坐标,你可以把这张白纸分成四个部分,左上角全用负数表示,右上角X正数Y负数,左下角Y正数X负数,右下角全部正数。下面的图片仔细看看应该会对你有点启发。
    哈哈!是不是很神奇呢?那我们继续向下看另外一个参数:“R:  reverse 反向,相反”即和默认的左上角顶点相反。就是右下角为顶点啦!同样的,如果我们将上面例子中的方块放到右下角,用前面的两种方法显然是不实际的,那么我们就可以使用这个参数 了.xywh=“0R,0R,30,15” 前面说了那么多应该不用多解释了吧?绝对右下角显示,不信试试看?
    至于wh两个参数,一般情况下直接写数值就可以了。最好你的图片有多大就写多大,这样不容易出现变形。当然你可以看看前面的问题视情况设定,比如纯色的窗口图片,即使图片大小为1*1你也可以强制设定为一个任意的大小,但其他的按钮元件还是按照图片的大小来设定P和B的参数一般常用在窗口皮肤和进度条以及音量条上面,比如进度条的长度:XYWH="0,0,70P,7"表示进度条位于左上角以当前容器(一般认为是控制器窗口)70%的宽度7像素的高度显示。再比如说一个窗口,如果给它一个XYWH="0,0,70P,60P"那么该窗口将在当前屏幕(flash播放器或浏览器亦或插入flash的大小)的左上角以70%宽度和60%的高度来显示,如果当前屏幕改变了大小,那么该窗口也将随之改变,始终处于这个大小显示。P参数还可以用在窗口内容上,比如说列表窗口中分为专辑区和列表区,那么专辑的宽度可以设为30P 列表的宽度可以为70P 以充满整个列表窗口(如果希望列表窗口显示左右边框或专辑区和列表区分开一点空隙,请自行调试,可将列表内容总宽度视为95%,再由两个区自行分配)。
    B:  border 边距,边界 一般用来制作自适应大小的皮肤。方法和 P参数差不多,都是达到自动调整大小的目的。但它比P更灵活一点,可以完成一些P参数无法完成的任务。比如要将视频窗口“嵌入”到控制器中让它随控制器的大小任意放大缩小。虽然CMP没有提供这个功能,但是我们可以用B参数虚拟一下,比如控制器的左右边框是2PX,上边框是15px,下边框是25px,宽度和高度同时为100P,坐标是0,0,视频窗口没有边框内容的大小为100P,100P 那么视频窗口的大小应该为:xywh="2,15,2B,20B"(高度=控制器的上边框+下边框再除以2)。这个功能推荐高级用户使用。
为什么自动大小皮肤可以自动调整大小?
在xywh中有个“B”:  border 边距,边界的参数。它可以使皮肤及内容始终保持在与边界(窗口大小或插入flash时设定的值)一个固定的距离。如果边界缩小那么皮肤及内容也缩小,反之则变大。
自动大小以后为什么会变形
CMP会根据图片的水平居中、垂直居中的一个像素为基准,当设置尺寸大于图片本身尺寸时将以这个像素为准进行复制以填满到设置尺寸。而小于实际尺寸时将以这个像素为基准依次删除在这个位置上的像素,所以如果按照CMP 中设置尺寸,最好还是按照图片本身的尺寸如实填写。
为什么swf的控制窗口和图片的控制窗口变形的不一样
swf不是图片,CMP 无法按照图片的像素加减法进行调整。所以会整个的拉伸。
引用了部分CMP3.0经典问题解答(CMP入门必备帮助文档)的内容,大致差不多。
如何设置皮肤窗口不被拖动
lock="0"
仔细找一下皮肤模板的skin.xml就可以看到。

路过恋人


3.25

此人已成仙,有事情拍砖

论坛元老

Allopatary

Rank: 8Rank: 8

发表于 2010-4-1 01:23:10 |显示全部楼层
对于新手会有很大的帮助!
辛苦了

Rank: 1

发表于 2010-4-12 13:06:54 |显示全部楼层
皮肤怎么设置不拖动啊!

Rank: 1

发表于 2010-4-30 15:12:57 |显示全部楼层
新手会有很大的帮助!
辛苦了

Rank: 4

发表于 2010-5-26 13:20:51 |显示全部楼层
帮新手顶起下
如坚如是
http://3shui.at.ua

Rank: 1

发表于 2010-6-3 10:04:53 |显示全部楼层
支持一下,谢谢版主。

Rank: 1

发表于 2010-10-1 19:57:23 |显示全部楼层
了解,thanks

Rank: 1

发表于 2010-10-7 16:05:20 |显示全部楼层
为什么我看不懂啊

Rank: 1

发表于 2011-5-31 15:35:59 |显示全部楼层
LZ  辛苦了!  赞一个!!!!

金牌会员

茂名家园联盟网

Rank: 6Rank: 6

发表于 2011-6-1 11:07:42 |显示全部楼层
辛苦了,兄弟````
您需要登录后才可以回帖 登录 | 注册

客服QQ44023478|Archiver|手机版|晨风交流论坛 ( 粤ICP备05008793号 )

GMT+8, 2012-2-6 18:00 , Processed in 0.064451 second(s), 13 queries , Gzip On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部