作者JangM (我是小涓)
看板Flash
标题[问题] 看不太懂要更改哪部分@@
时间Mon Dec 7 22:24:37 2009
原本要做中间乱数扩散的打蟑螂(3.0)
结果连老师都不知道要怎麽用= ="
最後只做出左右乱数出现
上下跟斜方的蟑螂都出不来
找了蛮多有关扩散的语法资料
但是要照着蟑螂的头的方向跑 实在有点困难
(不然扩散有了 就是会变成很不自然的样子跑 ex:屁股往前跑or侧着跑
还有凌波微步的....)
分数跟计时方面都ok...就是蟑螂跑法很怪
嘴炮老师最後都说太难他不会= =
之後再国外网站抓到一个类似的游戏(2.0)
http://www.flashkit.com/movies/Games/POOCHI-PRASHANT-9989/index.php
里面有完整的fla档
他原本只有单一蟑螂mcHero
我复制把另一只蟑螂的实体名称改成mcHero2
速度跟box的数量我都调整过
但是 两只蟑螂跑的方向 不管怎样都一样
有没有办法让他们两支都乱数到处乱跑
原本要做10只来试试看 结果第二只就卡住了@@"
以上两种语法方式 不知道哪个比较简单明了
我们本身就不是学这个的 莫名奇妙要我们做出一款flash的游戏
买了蛮多书 但是都太浅 没有讲到我们所需
网路上的教学有扩散 但是都是同一个方向
还是哪边有可以参考的书籍或者网页
我们都愿意去研究><
麻烦大家的指导 拜托!!~~感恩!!
如需要讲解比较详细 可以用msn:D
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.183.231
1F:→ aquarianboy:印象中cj的粒子特效中,有一个是蟑螂到处爬的(好像是) 12/08 00:44
2F:推 etrexetrex:超可怕的啦~ 12/08 01:17
3F:→ JangM:可是我们只能用FALSH做耶@@" 12/08 05:41
4F:→ aquarianboy:cj的粒子特效...是flash啊 12/08 12:22
5F:→ JangM:那是哪部分>< 不太懂 可是他也是能 打一支少一支吗? 12/08 12:27
6F:→ aquarianboy:其实我不懂你的问题,它整个"全部"都是flash 12/08 12:28
7F:→ aquarianboy:能不能做到跟滑鼠的互动是另外写mouseevent listener 12/08 12:28
8F:→ aquarianboy:handler来处理了 12/08 12:29
9F:→ aquarianboy:但你要的"扩散"效果,应该是有范例的 12/08 12:29
10F:推 cjcat2266:明明就是蝴蝶到处飞... 12/08 14:20
这特效我知道 但是他没有办法让蟑螂的头朝前进方向
他是以一张图散开
这样的话 有个蟑螂会侧着走 有的变成用屁股往前
我要的是 他们上下左右左上下右上下 这样乱数出现
往不同方向前进 就是搞定左右後 其他位置就弄不出来 弄了蟑螂就变怪怪的
※ 编辑: JangM 来自: 203.73.183.231 (12/08 16:13)
刚刚跟朋友拿到语法
蟑螂就是bubble 目前做到的部份只有让他左右
因为前面讲 好像会不清楚 但是与法很长说一一
想知道 要怎麽让他散开 就是往头的方向跑 不是屁股往下跑
var bubbleArea:Sprite = new Sprite();
var bubbleTimer:Timer = new Timer(1000, 0);
var speedY:Number = Math.random()*3-3;
var speedZ:Number = Math.random()*20-15;
var speed_acc:Number = 0.5;
bubbleTimer.addEventListener(TimerEvent.TIMER, makeBubble);
function makeBubble(event:TimerEvent) {
var bubble:MovieClip = new Dveil();
bubble.x = stage.stageWidth/2;
var yPos:int = 30+Math.random()*420;
bubble.y = yPos;
bubbleArea.addChild(bubble);
bubble.addEventListener(Event.ENTER_FRAME, onFramePlaying);
}
bubbleTimer.start();
function onFramePlaying(event:Event):void {
var speedX:Number = Math.random()*40-Math.random()*40;
if ((event.target.x < stage.stageWidth)&&(event.target.x > 0)) {
if (event.target.x==stage.stageWidth/2) {
event.target.x += (speedX)*speed_acc;
} else if (event.target.x>stage.stageWidth/2) {
event.target.x += Math.abs(speedX)*speed_acc;
} else {
event.target.x -= Math.abs(speedX)*speed_acc;
}
if (event.target.x<stage.stageWidth/2) {
event.target.rotation = 180;
}
if (event.target.x<=120) {
event.target.gotoAndPlay(3);
//event.target.rotation-=180;
if (event.target.x<=45) {
event.target.gotoAndPlay(1);
}
}
if (event.target.x>=685) {
event.target.gotoAndPlay(3);
if (event.target.x>=777) {
event.target.gotoAndPlay(1);
}
}
if (event.target.y==stage.stageHeight/2) {
event.target.y += (speedY)*speed_acc;
} else if (event.target.x>stage.stageHeight/2) {
event.target.y += Math.abs(speedY)*speed_acc;
} else {
event.target.y -= Math.abs(speedY)*speed_acc;
}
} else {
if (score>-10) {
score=score-1;
score_txt.text=score.toString();
event.target.parent.removeChild(event.target);
event.target.removeEventListener(Event.ENTER_FRAME, onFramePlaying);
}
}
if (score<=-10) {
gotoAndStop("end");
gameTimer.stop();
bubbleTimer.stop();
}
}
addChildAt(bubbleArea, 1);
※ 编辑: JangM 来自: 203.73.183.231 (12/08 16:22)
11F:推 cjcat2266:要让蟑螂的头朝前进方向,提示:反正切函数atan() 12/08 17:54
12F:→ JangM:感谢 我请同学试试看 12/08 18:52