作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [问题] 数学不好的烦脑, 排列检定.
时间Sat Mar 15 15:34:54 2008
※ 引述《babyfaker (oooo)》之铭言:
: 请问各位一个问题.
: 假设总共有九张图片,排列会随着stage的宽度自动换行的数学式如何写呢?
: 假设一张图宽度为300
: stage宽度为2700
: P P P P P P P P P
: 当stage宽度变为900时自动换为.
: P P P
: P P P
: P P P
: 谢谢~~ T_T
columnCount为 "一列可以有几个图片"
所以columnCount = Math.ceil(stage.stageWidth / 300);
处理到第i个图片的时候
用以下算式得知它是该行第几个
i % columnCount
currentRow记录目前正在处理第几列
所以当处理到第i个图片的时候
如果i是该列的最後一个,currentRow就要加一
if (i % columnCount ==0) currentRow++;
最後就是排列图片的x, y座标位置
pic.x = 300 * (i % columnCount);
pic.y = 300 * currentRow;
AS3的code大致如下(未经过测试):
//假设你图片名称是p0, p1, p2,..., p8
import flash.display.*;
import flash.event.*;
stage.addEventListener(Event.RESIZE, onResize);
funciton onResize(e:Event):void {
var columnCount:Number = Math.ceil(stage.stageWidth / 300);
var currentRow:Number = 0;
for( var i:int = 0; i < 9; i++) {
this["p" + i].x = 300 * (i % columnCount);
this["p" + i].y = 300 * currentRow;
if (i % columnCount == 0) currentRow++;
}
}
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.69.83
※ 编辑: cjcat2266 来自: 220.136.69.83 (03/15 15:35)
1F:推 etrexetrex:QQ 我慢了 03/15 15:40
2F:→ cjcat2266: XD 我快了 03/15 15:42