找回密码
 点一下
查看: 12853|回复: 29

[娱乐]无限地形系统~

  [复制链接]
发表于 2007-11-7 20:14:13 | 显示全部楼层 |阅读模式
永远飞不到头
飞不到头.JPG
PS:只看效果只需下载W3X文件,要研究就另外下载“触发.rar”,然后新建个地图导入。

无限地形byV·K.w3x

69 KB, 下载次数: 861

触发.rar

2 KB, 下载次数: 177

评分

参与人数 1威望 +66 收起 理由
kook + 66 原创内容

查看全部评分

发表于 2007-11-7 22:29:39 | 显示全部楼层
哇,很厉害的四象分割呢。
回复

使用道具 举报

发表于 2007-11-8 07:25:58 | 显示全部楼层
把触发弄出来
真邪恶
回复

使用道具 举报

 楼主| 发表于 2007-11-8 09:03:56 | 显示全部楼层
思路大家分享,地形本身暂时保留产权

那话怎么说的,一个科学家很愿意把自己的研究成果和大家分享。但是一个厨师绝对不希望自己的手艺乱传
回复

使用道具 举报

发表于 2007-11-8 12:47:28 | 显示全部楼层
hehe,原来想等lz把最重要的制作回路地形的要点和注意发出来再考虑加精的。不过似乎被华丽的无视了。。。  
回复

使用道具 举报

发表于 2007-11-8 12:50:21 | 显示全部楼层
姆…好想知道是怎么做得…先下载来看看…

下周要考期中考了我还来搞WE…
回复

使用道具 举报

 楼主| 发表于 2007-11-8 12:53:45 | 显示全部楼层
放心吧,只是暂时不放出,因为这个地形我的马上做的图里还要用。不想太早公开。
等图做完了我会适时放个未加密版本出来提供下载。
回复

使用道具 举报

 楼主| 发表于 2007-11-8 13:00:40 | 显示全部楼层
还有啊,,,,打个商量吧,下次要加不用考虑钱,施主给点威望用来方便下载东西吧。前天在模型区人家设个2威望的枯树桩我都只能眼巴巴看着
回复

使用道具 举报

发表于 2007-11-8 13:14:15 | 显示全部楼层
很想研究下...可惜没威望啊,叹气```
回复

使用道具 举报

发表于 2007-11-8 13:32:47 | 显示全部楼层
引用第8楼terminus于2007-11-08 13:14发表的  :
很想研究下...可惜没威望啊,叹气```
下载无限地形byV·K.w3x 附件要威望来着?
回复

使用道具 举报

发表于 2007-11-8 14:42:33 | 显示全部楼层
不扣威望~
回复

使用道具 举报

发表于 2007-11-8 15:31:51 | 显示全部楼层
引用第6楼V·K于2007-11-08 12:53发表的  :
放心吧,只是暂时不放出,因为这个地形我的马上做的图里还要用。不想太早公开。
等图做完了我会适时放个未加密版本出来提供下载。

关键倒不在于特定地形的本身而是制作方法和技巧,那么我先提供点贷款吧,既然威望是硬通货。。。
回复

使用道具 举报

发表于 2007-11-8 22:13:09 | 显示全部楼层
那?????????就是不断改变地貌的意思?
回复

使用道具 举报

261001126 该用户已被删除
发表于 2007-11-10 04:12:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2007-11-15 17:13:52 | 显示全部楼层
爆强~~~~

有种强烈的终于看到大海的感觉!
回复

使用道具 举报

发表于 2007-12-13 21:15:25 | 显示全部楼层
哇支持呢.不错`.
回复

使用道具 举报

发表于 2007-12-30 03:04:51 | 显示全部楼层
这个得学习学习!
回复

使用道具 举报

发表于 2007-12-30 21:18:17 | 显示全部楼层
晕…真的无限啊!
回复

使用道具 举报

发表于 2008-2-10 11:08:09 | 显示全部楼层
虽然威望不够,但是能看到Jass就行了,呵呵~~~~
能看得懂J文又没有威望的来这里看吧
[codes=jass]
//-----------------------------------------------------
//
//总的原理是,当一个单位离开一个区域时
//用SetUnitX和SetUnitY将单位移动到镜头的另一侧。
//我解密的时候为了可读性,修改了大部分变量和函数的名字,
//并合并了两个函数,加入了一部分注释
//
//当然,仅仅依靠这个脚本,会让玩家看出来
//所以在制作地形上也要下功夫

globals
    real udg_z=165 //这个初值貌似没有必要,在初始化触发器的时候又被赋值了      
    location udg_p=null
    location udg_tp=null
    trigger Trigger1=CreateTrigger()
    trigger Trigger2=CreateTrigger()
    trigger Trigger3=CreateTrigger()
    trigger Trigger4=CreateTrigger()
    rect Rect1
    rect Rect2
    unit udg_u//就是这个演示的主角了
    camerasetup Camera=CreateCameraSetup()   
endglobals

function delp takes nothing returns nothing
    set udg_tp=GetUnitLoc(udg_u)
    set udg_p=PolarProjectionBJ(udg_tp,900.,udg_z)
    call SetCameraFieldForPlayer(Player(0),CAMERA_FIELD_ROTATION,GetUnitFacing(udg_u),2.)
    call IssuePointOrderByIdLoc(udg_u,851986,udg_p)
    call RemoveLocation(udg_tp)
    call RemoveLocation(udg_p)
endfunction

function Init takes nothing returns nothing
    //电影模式
    call CinematicModeBJ(true,bj_FORCE_ALL_PLAYERS)
    //创建迷雾效果
    call EnableWorldFogBoundaryBJ(false,bj_FORCE_ALL_PLAYERS)
    call CreateFogModifierRectBJ(true,Player(0),FOG_OF_WAR_VISIBLE,GetWorldBounds())
    call SetTerrainFogEx(0,500.,2700.,0,1,1,1)
    //设置天空模型
    call SetSkyModel("Environment\\\\Sky\\\\BlizzardSky\\\\BlizzardSky.mdl")
    call CameraSetupApplyForceDuration(Camera,true,1.)
    call delp()
    set udg_z=GetUnitFacing(udg_u)
    call SetCameraFieldForPlayer(Player(0),CAMERA_FIELD_ROTATION,udg_z,1.)
    call SetCameraTargetControllerNoZForPlayer(Player(0),udg_u,0,0,false)
endfunction

function SetX takes nothing returns nothing
    call SetUnitX(GetTriggerUnit(),(GetUnitX(GetTriggerUnit())-((RAbsBJ(GetUnitX(GetTriggerUnit()))/GetUnitX(GetTriggerUnit()))*8192.)))
    call delp()
endfunction

function SetY takes nothing returns nothing
    call SetUnitY(GetTriggerUnit(),(GetUnitY(GetTriggerUnit())-((RAbsBJ(GetUnitY(GetTriggerUnit()))/GetUnitY(GetTriggerUnit()))*8192.)))
    call delp()
endfunction

function Action4 takes nothing returns nothing
    set udg_z=I2R(GetRandomInt(163,168))
    call delp()
endfunction

function InitCustomTeams takes nothing returns nothing
    call SetPlayerTeam(Player(0),0)
endfunction

function main takes nothing returns nothing
//---------------------------------------------
//游戏初始化
//---------------------------------------------
//与这个系统没有关系
    local weathereffect we
    local player p
    local unit u
    local integer unitID
    local trigger t
    local real life
    call SetCameraBounds(-4736.+GetCameraMargin(CAMERA_MARGIN_LEFT),-4480.+GetCameraMargin(CAMERA_MARGIN_BOTTOM),4736.-GetCameraMargin(CAMERA_MARGIN_RIGHT),4480.-GetCameraMargin(CAMERA_MARGIN_TOP),-4736.+GetCameraMargin(CAMERA_MARGIN_LEFT),4480.-GetCameraMargin(CAMERA_MARGIN_TOP),4736.-GetCameraMargin(CAMERA_MARGIN_RIGHT),-4480.+GetCameraMargin(CAMERA_MARGIN_BOTTOM))
    call SetDayNightModels("Environment\\\\DNC\\\\DNCLordaeron\\\\DNCLordaeronTerrain\\\\DNCLordaeronTerrain.mdl","Environment\\\\DNC\\\\DNCLordaeron\\\\DNCLordaeronUnit\\\\DNCLordaeronUnit.mdl")
    call NewSoundEnvironment("Default")
    call SetAmbientDaySound("LordaeronSummerDay")
    call SetAmbientNightSound("LordaeronSummerNight")
    call SetMapMusic("Music",true,0)
   
    call CameraSetupSetField(Camera,CAMERA_FIELD_ZOFFSET,300.,.0)
    call CameraSetupSetField(Camera,CAMERA_FIELD_ROTATION,270.,.0)
    call CameraSetupSetField(Camera,CAMERA_FIELD_ANGLE_OF_ATTACK,322.2,.0)
    call CameraSetupSetField(Camera,CAMERA_FIELD_TARGET_DISTANCE,1024.5,.0)
    call CameraSetupSetField(Camera,CAMERA_FIELD_ROLL,.0,.0)
    call CameraSetupSetField(Camera,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0)
    call CameraSetupSetField(Camera,CAMERA_FIELD_FARZ,3000.,.0)
    call CameraSetupSetDestPosition(Camera,-673.5,1638.4,.0)
//------------------------------------------------
//创造单位
//------------------------------------------------   
    set p=Player(0)
    set udg_u=CreateUnit(p,'hdhw',3593.6,-3908.5,155.)
    //主角在这里登场
   
        
    call InitBlizzard()
   
//------------------------------------------------   
//初始化区域变量
//------------------------------------------------
    set Rect1=Rect(-4096.,-5504.,4096.,5632.)
   
    set Rect2=Rect(-5728.,-4096.,5632.,4096.)
   
    //从地图正上看,Rect1是立着的长方形,Rect2是躺着的长方形
    //两个区域的公共区域是一个正方形
    //也就是我们实际用到的地图区域
   
//------------------------------------------------
//创建触发器
//------------------------------------------------

    //------------------------------------------------
    //没有事件,准确的说是地图初始化
    call TriggerAddAction(Trigger1,function Init)
    //动作是开启电影模式
   
    //------------------------------------------------
    //这个事件是玩家离开区域
    call TriggerRegisterLeaveRectSimple(Trigger2,Rect1)
    call TriggerAddAction(Trigger2,function SetX)
    //离开这个区域则马上调整单位的X坐标
    //如果单位从左离开这个区域,则调整单位的X坐标到区域的最右侧
    //反之亦然
     
    //------------------------------------------------
    //这个事件是玩家离开区域
    call TriggerRegisterLeaveRectSimple(Trigger3,Rect2)
    call TriggerAddAction(Trigger3,function SetY)
    //离开这个区域则马上调整单位的Y坐标
    //如果单位从又离开这个区域,则调整单位的Y坐标到区域的最左侧
    //反之亦然
     
    //------------------------------------------------
    //这个事件是每2.5秒运行一次
    call TriggerRegisterTimerEventPeriodic(Trigger4,2.5)
    call TriggerAddAction(Trigger4,function Action4)
    //随机调整主角的下一个移动大方向
   
    //------------------------------------------------   
    //Trigger1是初始化的触发器 ,直接执行
    call ConditionalTriggerExecute(Trigger1)
endfunction

function config takes nothing returns nothing
    call SetMapName("TRIGSTR_001")
    call SetMapDescription("TRIGSTR_003")
    call SetPlayers(1)
    call SetTeams(1)
    call SetGamePlacement(MAP_PLACEMENT_USE_MAP_SETTINGS)
    call DefineStartLocation(0,256.,-64.)
    call SetPlayerStartLocation(Player(0),0)
    call SetPlayerColor(Player(0),ConvertPlayerColor(0))
    call SetPlayerRacePreference(Player(0),RACE_PREF_HUMAN)
    call SetPlayerRaceSelectable(Player(0),true)
    call SetPlayerController(Player(0),MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(0),MAP_CONTROL_USER)
    call InitGenericPlayerSlots()
endfunction
[/codes]
回复

使用道具 举报

发表于 2008-3-22 01:06:03 | 显示全部楼层
厉害,自己尝试一下,有点效果!!!谢谢指点!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 22:59 , Processed in 0.318231 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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