本文整理汇总了Python中MovieNPCSOS.doNPCTeleports方法的典型用法代码示例。如果您正苦于以下问题:Python MovieNPCSOS.doNPCTeleports方法的具体用法?Python MovieNPCSOS.doNPCTeleports怎么用?Python MovieNPCSOS.doNPCTeleports使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MovieNPCSOS
的用法示例。
在下文中一共展示了MovieNPCSOS.doNPCTeleports方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: doSounds
# 需要导入模块: import MovieNPCSOS [as 别名]
# 或者: from MovieNPCSOS import doNPCTeleports [as 别名]
def doSounds(sounds):
if len(sounds) == 0:
return (None, None)
npcArrivals, npcDepartures, npcs = MovieNPCSOS.doNPCTeleports(sounds)
mtrack = Parallel()
hitCount = 0
prevLevel = 0
prevSounds = [[],
[],
[],
[],
[],
[],
[]]
for sound in sounds:
level = sound['level']
prevSounds[level].append(sound)
for target in sound['target']:
if target['hp'] > 0:
hitCount += 1
break
delay = 0.0
for soundList in prevSounds:
if len(soundList) > 0:
mtrack.append(__doSoundsLevel(soundList, delay, hitCount, npcs))
delay += TOON_SOUND_DELAY
soundTrack = Sequence(npcArrivals, mtrack, npcDepartures)
targets = sounds[0]['target']
camDuration = mtrack.getDuration()
enterDuration = npcArrivals.getDuration()
exitDuration = npcDepartures.getDuration()
camTrack = MovieCamera.chooseSoundShot(sounds, targets, camDuration, enterDuration, exitDuration)
return (soundTrack, camTrack)
示例2: doLures
# 需要导入模块: import MovieNPCSOS [as 别名]
# 或者: from MovieNPCSOS import doNPCTeleports [as 别名]
def doLures(lures):
if len(lures) == 0:
return (None, None)
npcArrivals, npcDepartures, npcs = MovieNPCSOS.doNPCTeleports(lures)
mtrack = Parallel()
for l in lures:
ival = __doLureLevel(l, npcs)
if ival:
mtrack.append(ival)
lureTrack = Sequence(npcArrivals, mtrack, npcDepartures)
camDuration = mtrack.getDuration()
enterDuration = npcArrivals.getDuration()
exitDuration = npcDepartures.getDuration()
camTrack = MovieCamera.chooseLureShot(lures, camDuration, enterDuration, exitDuration)
return (lureTrack, camTrack)
示例3: doTraps
# 需要导入模块: import MovieNPCSOS [as 别名]
# 或者: from MovieNPCSOS import doNPCTeleports [as 别名]
def doTraps(traps):
if len(traps) == 0:
return None, None
npcArrivals, npcDepartures, npcs = MovieNPCSOS.doNPCTeleports(traps)
hasUberTrapConflict = False
suitTrapsDict = {}
for trap in traps:
targets = trap['target']
if len(targets) == 1:
suitId = targets[0]['suit'].doId
if suitId in suitTrapsDict:
suitTrapsDict[suitId].append(trap)
else:
suitTrapsDict[suitId] = [trap]
else:
for target in targets:
suitId = target['suit'].doId
if suitId not in suitTrapsDict:
suitTrapsDict[suitId] = [trap]
break
if trap['level'] == UBER_GAG_LEVEL_INDEX:
if len(traps) > 1:
hasUberTrapConflict = True
for oneTarget in trap['target']:
suit = oneTarget['suit']
if suit.battleTrap != NO_TRAP:
hasUberTrapConflict = True
suitTrapLists = suitTrapsDict.values()
mtrack = Parallel()
for trapList in suitTrapLists:
trapPropList = []
for i in range(len(trapList)):
trap = trapList[i]
level = trap['level']
if level == 0:
banana = globalPropPool.getProp('banana')
banana2 = MovieUtil.copyProp(banana)
trapPropList.append([banana, banana2])
elif level == 1:
rake = globalPropPool.getProp('rake')
rake2 = MovieUtil.copyProp(rake)
rake.pose('rake', 0)
rake2.pose('rake', 0)
trapPropList.append([rake, rake2])
elif level == 2:
marbles = globalPropPool.getProp('marbles')
marbles2 = MovieUtil.copyProp(marbles)
trapPropList.append([marbles, marbles2])
elif level == 3:
trapPropList.append([globalPropPool.getProp('quicksand')])
elif level == 4:
trapPropList.append([globalPropPool.getProp('trapdoor')])
elif level == 5:
tnt = globalPropPool.getProp('tnt')
tnt2 = MovieUtil.copyProp(tnt)
trapPropList.append([tnt, tnt2])
elif level == 6:
tnt = globalPropPool.getProp('traintrack')
tnt2 = MovieUtil.copyProp(tnt)
trapPropList.append([tnt, tnt2])
else:
notify.warning(
'__doTraps() - Incorrect trap level: %d' %
level)
if len(trapList) == 1 and not hasUberTrapConflict:
ival = __doTrapLevel(trapList[0], trapPropList[0])
if ival:
mtrack.append(ival)
else:
subMtrack = Parallel()
for i in range(len(trapList)):
trap = trapList[i]
trapProps = trapPropList[i]
ival = __doTrapLevel(trap, trapProps, explode=1)
if ival:
subMtrack.append(ival)
mtrack.append(subMtrack)
trapTrack = Sequence(npcArrivals, mtrack, npcDepartures)
camDuration = mtrack.getDuration()
enterDuration = npcArrivals.getDuration()
exitDuration = npcDepartures.getDuration()
camTrack = MovieCamera.chooseTrapShot(
traps, camDuration, enterDuration, exitDuration)
return trapTrack, camTrack
示例4: doDrops
# 需要导入模块: import MovieNPCSOS [as 别名]
# 或者: from MovieNPCSOS import doNPCTeleports [as 别名]
def doDrops(drops):
if len(drops) == 0:
return (None, None)
npcArrivals, npcDepartures, npcs = MovieNPCSOS.doNPCTeleports(drops)
suitDropsDict = {}
groupDrops = []
for drop in drops:
track = drop['track']
level = drop['level']
targets = drop['target']
if len(targets) == 1:
suitId = targets[0]['suit'].doId
if suitId in suitDropsDict:
suitDropsDict[suitId].append((drop, targets[0]))
else:
suitDropsDict[suitId] = [(drop, targets[0])]
elif level <= MAX_LEVEL_INDEX and attackAffectsGroup(track, level):
groupDrops.append(drop)
else:
for target in targets:
suitId = target['suit'].doId
if suitId in suitDropsDict:
otherDrops = suitDropsDict[suitId]
alreadyInList = 0
for oDrop in otherDrops:
if oDrop[0]['toon'] == drop['toon']:
alreadyInList = 1
if alreadyInList == 0:
suitDropsDict[suitId].append((drop, target))
else:
suitDropsDict[suitId] = [(drop, target)]
suitDrops = suitDropsDict.values()
def compFunc(a, b):
if len(a) > len(b):
return 1
elif len(a) < len(b):
return -1
return 0
suitDrops.sort(compFunc)
delay = 0.0
mtrack = Parallel(name='toplevel-drop')
npcDrops = {}
for st in suitDrops:
if len(st) > 0:
ival = __doSuitDrops(st, npcs, npcDrops)
if ival:
mtrack.append(Sequence(Wait(delay), ival))
delay = delay + TOON_DROP_SUIT_DELAY
dropTrack = Sequence(npcArrivals, mtrack, npcDepartures)
camDuration = mtrack.getDuration()
if groupDrops:
ival = __doGroupDrops(groupDrops)
dropTrack.append(ival)
camDuration += ival.getDuration()
enterDuration = npcArrivals.getDuration()
exitDuration = npcDepartures.getDuration()
camTrack = MovieCamera.chooseDropShot(drops, suitDropsDict, camDuration, enterDuration, exitDuration)
return (dropTrack, camTrack)