游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4726|回复: 16

陈?进

[复制链接]

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2010-5-28 08:34:00 | 显示全部楼层 |阅读模式
发现攻击伤血和力改变物体的速度很相似:

F = F1 + F2 + ... + Fn
v' = v + (F / m)*dt

Attack = Attack1 + Attack2 + ... + AttackN
HP' = HP - (Attack - DP)
// Attack1,2... 不一定就是对象的AP属性.例如带距离衰减的攻击

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2010-5-28 08:52:00 | 显示全部楼层

Re:陈?进

这么分析的一个好处是,可以面向对象化,消息化。
就是说,可以把 F, Attack 作为一个消息发送给对象,而对象私有地处理这个消息。
而处理了该消息之后的对象的属性和先前的属性的差,就是这个消息对该对象的作用效果。
---- 这是看似过于简单和基本的知识。其实并不是!
因为通常在用对象和消息这种方式解决如攻击问题的时候,一个常见的错误是,
把 msg = Attack - dest.DP 发送给目标对象,而目标对象可能并不会执行 HP' = HP - msg,比如它认为消息的意义是"newHP"于是执行 HP' = msg (...如此一来,项目一旦复杂则会带来合作开发上的麻烦)

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2010-5-29 22:57:00 | 显示全部楼层

Re:陈?进

这个是老问题了吧

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2010-5-30 04:52:00 | 显示全部楼层

Re:陈?进

instemast进
http://www.downfans.com/sanguo/showthread.php?t=514

0

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2010-5-30 11:37:00 | 显示全部楼层

Re:陈?进

复杂得很呢

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2010-5-31 08:26:00 | 显示全部楼层

Re:陈?进

昨晚研究了一晚上RGB和HSV。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2010-6-1 13:00:00 | 显示全部楼层

Re:陈?进

看通常的物理书上 F = ma, F/m = a
好像是在说 F 是 动量的变化率,F/m 是速度的变化率。
其实根本不是的。

其实,F/m 尽管数值上等于 a=dv/dt, 但是,F/m 和 a=dv/dt 不是一个事物。
F/m 是其他对象对 v 的影响,而 dv/dt 是 v 的变化。

换个说法就是说,dp/dt = F, 但是 dp/dt 和 F 不是一个事物。

----------------------------------------------------

于是,为了避免混淆,可以丰富一下我们的字母:

A = dV/dt (A表示该对象的动量变化, V表示动量)
a = dv/dt (a表示该对象的速度变化, v表示速度)

v = V/m (该对象的速度,等于该对象的动量除以其质量)
a = A/m (该对象的速度变化,等于该对象的动量变化除以其质量)
f = F/m (其他对象对该对象速度的影响,等于其他对象对该对象的速度的影响除以其质量)

A = F (该对象的动量的变化,等于其他对象对该对象的力,而力就是其他对象对该对象的动量的影响)
a = f (该对象的速度的变化,等于其他对象对该对象的速度的影响)

11

主题

1238

帖子

1782

积分

金牌会员

Rank: 6Rank: 6

积分
1782
发表于 2010-6-1 13:10:00 | 显示全部楼层

Re:陈?进

嘿嘿~~你又想做RPG了啊~~

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2010-6-1 14:11:00 | 显示全部楼层

Re:陈?进

话说,连续性魔法伤害的计算,和力与速度几乎一样:

ATTACK = ΣATTACK
damage = - dhp/dt = ATTACK / defense
- dhp = ATTACK / defense * dt
HP = hp*defense  (HP:有效生命)

力与速度:

F = ΣF
a = dv/dt = F / m
dv = F / m * dt
V = m*v  (V:动量)

==============================================

DAMAGE = - dHP/dt    damage = - dhp/dt
hp = HP / defense    damage = DAMAGE / defense    attack = ATTACK / defense
DAMAGE = ATTACK    damege = attack
-----------------------------------------
A = dV/dt  a = dv/dt
v = V/m  a = A/m  f = F/m
A = F  a = f

0

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2010-6-15 17:43:00 | 显示全部楼层

Re:陈?进

牛逼的人喜欢把复杂的问题简单化。傻逼的人喜欢把简单的问题复杂化以显得自己多牛逼。你是后者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 14:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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