廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2951 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
fishq
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x1 鮮花 x7
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[1.6][插件] 請教各種符號的用法 經過請進
我一直都很想問在源碼中 各種符號代表什麼 / 怎樣應用 符號
例子如下:

1. #define 123(%1)     =      %1 代表?
2. #define 123 (456 |= 1)     =     |= 代表?
3. #define 123 (456 &= 1)     =    &= 代表? 
4. #define 123 (456 & 1)     =      & 代表? 
5. #define 123 ~(1)     =    ~ 代表? 

各位大大可否能幫助一下?
表情 表情


獻花 x0 回到頂端 [樓 主] From:香港New Skies Satellites | Posted:2012-08-14 13:18 |
HsK 手機 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章
頭銜:CCN@HsKCCN@HsK
版主
級別: 版主 該用戶目前不上站
版區: CS插件區
推文 x1701 鮮花 x1108
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 fishq 於 2012-08-14 13:18 發表的 請教各種符號的用法 經過請進: 到引言文
我一直都很想問在源碼中 各種符號代表什麼 / 怎樣應用 符號
例子如下:

1. #define 123(%1)     =      %1 代表?
2. #define 123 (456 |= 1)     =     |= 代表?
3. #define 123 (456 &= 1)     =    &= 代表? 
4. #define 123 (456 & 1)     =      & 代表? 
5. #define 123 ~(1)     =    ~ 代表? 

各位大大可否能幫助一下?
表情 表情

|=, &=, &, ~

這4個, 我不懂說出來..
做個小範例吧...

複製程式
enum Skill
{
   SKILL_1 = (1 << 0), // 技能1
   SKILL_2 = (1 << 1), // 技能2
   SKILL_3 = (1 << 2)  // 技能3
};

new g_skill[33]; // 定義玩家激活的技能

abc (id)
{
    g_skill[id] |= SKILL_1; // 激活玩家技能1
    g_skill[id] &= ~SKILL_2; // 消去玩家技能2
    g_skill[id] |= SKILL_3; // 激活玩家技能3

    /*
    以上內容可寫成 g_skill[id] |= (SKILL_1 | SKILL_2);
    同樣如果消去玩家技能1/2可寫成 g_skill[id] &= ~(SKILL1 | SKILL2);
    */

    if (g_skill[id] & (SKILL_1 | SKILL_2 | SKILL_3)) // 如果玩家同時激活3個技能
        .....
    else if (g_skill[id] & (SKILL_1 | SKILL_2)) // 否則, 如果玩家同時激活技能1和技能2
        .....
    else if (g_skill[id] & (SKILL_1 | SKILL_3)) // 你明的.....
        ..... // 以上例子中, 會運行這段
    else if (g_skill[id] & SKILL_1) // 如果玩家激活技能1
        ..... // 以上例子中, 不會運行這段 (注意if /else if 用法!) 

    if (g_skill[id] & SKILL_1) // 如果玩家激活技能1
        ..... // 以上例子中, 會運行這段

    if (g_skill[id] & SKILL_2) // 如果玩家激活技能2
        ..... // 以上例子中, 不會運行這段
    else if (g_skill[id] & SKILL_3) // 如果玩家激活技能3
        ..... // 以上例子中, 不會運行這段 (注意if /else if 用法!) 

    if (!(g_skill[id] & SKILL_2)) // 如果玩家沒激活技能2
        ..... // 以上例子中, 會運行這段

    g_skill[id] = 0; // 消去玩家所有技能
}


HsK-Dev Blog By CCN
獻花 x1 回到頂端 [1 樓] From:未知地址 | Posted:2012-08-14 14:47 |
fishq
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x1 鮮花 x7
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

感謝Hsk大大幫助指導, 明白了用法了 表情


獻花 x0 回到頂端 [2 樓] From:香港New Skies Satellites | Posted:2012-08-14 16:51 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.059386 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言