找回密码
 点一下
查看: 1155|回复: 5

想把一群单位摆放成规整的弧形怎么办?

[复制链接]
发表于 2009-12-26 00:22:06 | 显示全部楼层 |阅读模式
想把一群单位摆放成规整的弧形怎么办?
发表于 2009-12-26 00:25:14 | 显示全部楼层
楼主学历如何?极坐标了解么?
回复

使用道具 举报

 楼主| 发表于 2009-12-26 08:43:33 | 显示全部楼层
我的意思是在设计阶段,在地形编辑器里怎么弄,只能用眼睛看?
回复

使用道具 举报

发表于 2009-12-26 12:09:57 | 显示全部楼层

请使用触发器(即T)放置单位
回复

使用道具 举报

 楼主| 发表于 2010-1-1 17:33:53 | 显示全部楼层
要是很正的弧形,只能是动态生成了,分亨一下吧
[jass]function  CreateHero takes nothing returns nothing
    real x,y
    integer i
   
    LightHeroId[0] = HERO_PAL
    LightHeroId[1] = HERO_AM
    LightHeroId[2] = HERO_MK
    LightHeroId[3] = HERO_BS
    LightHeroId[4] = HERO_LS
    LightHeroId[5] = HERO_KOG
    LightHeroId[6] = HERO_MP
    LightHeroId[7] = HERO_DH
    LightHeroId[8] = HERO_WD
    LightHeroId[9] = HERO_GA
    LightHeroId[10] = HERO_SW
   
    DarkHeroId[0]=HERO_BM
    DarkHeroId[1]=HERO_FS
    DarkHeroId[2]=HERO_TC
    DarkHeroId[3]=HERO_SH
    DarkHeroId[4]=HERO_PL
    DarkHeroId[5]=HERO_DK
    DarkHeroId[6]=HERO_Lich
    DarkHeroId[7]=HERO_DL
    DarkHeroId[8]=HERO_CL
    DarkHeroId[9]=HERO_FL
    DarkHeroId[10]=HERO_ES
   
    i = 0
    loop
        exitwhen i > LightHeroNumMax -1
        x=LightStartX + LightBoxRadius*Cos(bj_PI/LightHeroNumMax*i)
        y=LightStartY + LightBoxRadius*Sin(bj_PI/LightHeroNumMax*i)
        CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE),LightHeroId,x,y,-90.0)
        x=LightStartX + (LightBoxRadius -CIRCLEDELTA)*Cos(bj_PI/LightHeroNumMax*i)
        y=LightStartY + (LightBoxRadius- CIRCLEDELTA)*Sin(bj_PI/LightHeroNumMax*i)
        CreateDestructable(CIRCLE,x,y,0,1.0,1)
        i++
    endloop
   
    i = 0
    loop
        exitwhen i > DarkHeroNumMax -1
        x=DarkStartX + DarkBoxRadius*Cos(bj_PI/DarkHeroNumMax*i)
        y=DarkStartY + DarkBoxRadius*Sin(bj_PI/DarkHeroNumMax*i)
        CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE),DarkHeroId,x,y,-90.0)
        x=DarkStartX + (DarkBoxRadius -CIRCLEDELTA)*Cos(bj_PI/DarkHeroNumMax*i)
        y=DarkStartY + (DarkBoxRadius- CIRCLEDELTA)*Sin(bj_PI/DarkHeroNumMax*i)
        CreateDestructable(CIRCLE,x,y,0,1.0,1)
        i++
    endloop   
endfunction
[/jass]
回复

使用道具 举报

发表于 2010-1-4 17:10:37 | 显示全部楼层
弄个公式就OK.

移动或者创建单位在  距离圆点XX距离, 角度每次转向加多少不度就OK,
就象圆规画幅.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-22 08:27 , Processed in 0.039701 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表